Viết code nghệ thuật, để trở nên Pro

digi2936

Tiểu thương mới
Tham gia
9 Tháng sáu 2019
Bài viết
82
Điểm tương tác
0
cách đây khoảng mấy chục năm, có nhẽ điều ứng dụng của python quan yếu nhất khi bạn code chỉ là sự hiệu quả và tối ưu. Khi đấy RAM của máy tính còn được tính bằng byte thay vì giggabyte, tài nguyên hạn hẹp đến mức mỗi khi máy tính chỉ có thể chạy một chương trình. Những ngày ấy đã xa rồi.

cộng mang tốc độ lớn mạnh chóng vánh của phần cứng, tính hiệu quả tụt lại phía sau và dường chỗ cho một nguyên tố quan yếu hơn, viết code đẹp, dễ đọc và dễ hiểu. Điều này lên đường trong khoảng thực tế là quy mô của các project phát triển thành lớn hơn, các mô hình Agile đòi hỏi sự hợp tác giữa mọi người nhiều hơn, môi trường và requirement thay đổi chóng vánh đòi hỏi code phải thuận lợi thay đổi và bảo trì.

bên cạnh đó, lúc mới khởi đầu chúng ta thường mang khuynh hướng viết code xấu. Với thể vì lười, hoặc sở hữu thể bạn nghĩ không với đủ thời gian để khiến công tác tốt hơn, rằng boss sẽ tức giận vì bạn dành quá phổ quát thời kì để viết code đẹp hơn. Cũng mang thể bạn quá mỏi mệt lúc viết một chương trình nào ấy và chỉ muốn làm xong thôi. Và thế là các đống code thập cẩm thành lập.

các lúc nhìn lại đống code ấy, chúng ta lại muốn để lại đến https://mindx.edu.vn/ ngày hôm sau. Chúng ta thở phào nhẹ nhàng khi thấy chương trình vẫn hoạt động thường ngày, và cho rằng một đống code lộn xộn mà chạy được vẫn tốt hơn là ko có gì. Đông đảo đều ổn cho tới ngày bug xuất hiện, hoặc các bạn ngẫu hứng muốn thêm một đôi thay đổi để ứng dụng ngầu hơn. Và mọi rối rắm khởi đầu.

Thế nào là code đẹp

Viết code đẹp đòi hỏi chúng ta phải hình thành được cảm giác về code, cảm giác về tính sạch đẹp của nó (code-sense). Mang những người sinh ra đã sở hữu cảm giác này rồi, những người khác phải tập dượt và học hỏi mới đạt được. Nó không chỉ giúp chúng ta nhìn ra 1 đoạn code là rẻ hay xấu, mà còn cho chúng ta thấy những cách, cách để biến code xấu thành code đẹp.

Tôi muốn code của mình phải tinh tế và hiệu quả. Logic phải rõ ràng để bug không thể ẩn náu được, sự phụ thuộc lẫn nhau giữa các thành phần được tối thiểu hoá để bảo trì dễ hơn, hiệu năng tất cả tối ưu để không khiến cho người khác làm code lộn xộn bằng những đoạn tối ưu ko mang luật lệ. Code đẹp là code khiến cho 1 việc rẻ.

Bjarne Stroustrup, inventor of C++ and author of The C++ Programming Language

Code đẹp là code thuần tuý và ý đồ rõ ràng. Code đẹp đọc như 1 đoạn văn hay. Code đẹp ko làm mơ hồ ý đồ của người viết, ngược lại là sự hài hòa của sự trừu tượng hoá và những câu lệnh điều khiển rõ ràng.

Grady Booch, author of Object Oriented Analysis and Design with Applications

Code đẹp là code với thể đọc và cải thiện bởi những người khác. Có unit test và acceptance test. Code đẹp sử dụng cách đặt tên với nghĩa, phân phối một cách xử lý độc nhất cho mỗi mục đích, sự phụ thuộc lẫn nhau được tối thiểu hoá, cung ứng API rõ ràng và thuần tuý.

Xem thêm =>>https://mindx.edu.vn/blog/post/lap-trinh-co-ban

“Big” Dave Thomas, founder of OTI, godfather of the Eclipse strategy

Để viết code đẹp hơn
Giới thiệu dài dòng đủ rồi, sau đây chúng ta sẽ đi vào phần chính. Những lệ luật sẽ được mô tả 1 cách ngắn gọn nhất với thể, kèm mang ví dụ.

1. Đặt tên mang nghĩa

dùng tên thể hiện rõ ý đồ
Chọn tên đúng có thể mất thời gian nghĩ suy, nhưng đảm bảo sẽ tiết kiệm cho bạn nhiều thời gian hơn về trong khoảng thời gian dài. Do đó nên chọn tên kỹ càng và đổi tên khi bạn tìm được trong khoảng phải chăng hơn.

Tên của biến, hàm hoặc class phải đề cập lên tại sao nó còn đó, nó làm gì và được dùng như thế nào. Nếu tên biến cần phải chú giải mới hiểu được, đó là tên chưa trình bày được ý đồ.

dùng tên sở hữu thể phát âm được, **** tìm được
**** tìm dễ dàng và nhớ tốc độ hơn.

tránh mã hoá
Mã hoá tên biến chỉ khiến chúng ta mất công giải mã. 1 Thí dụ về mã hoá tên phổ quát trước đây là Hungarian Notation, được thực hiện bằng cách thức thêm một vài chữ loại miêu tả kiểu ngay trước tên biến, tỉ dụ txtName, iAge...

Điều này đặc biệt đúng với Java, là một ngôn ngữ mang quy định chặt chẽ về kiểu. Những phương tiện lớn mạnh (IDE) cũng đã đủ mạnh để highlight những biến quan trọng và mang thể phát hiện các lỗi về kiểu ngay kể từ chưa biên dịch code. Vì vậy mã hoá chỉ khiến cho việc đổi tên biến, hàm, class trở thành khó hơn. Đồng thời việc đọc code cũng vướng víu hơn.

tránh mental mapping
giảm thiểu việc người đọc code phải dịch tên bạn đặt ra sang 1 tên khác mà họ biết. Vấn đề này có thể xảy ra lúc bạn dùng những tên ko nằm trong domain của bài toán đặt ra, hoặc dùng tên khác sở hữu tư duy thông thường.

45692902022_9f6ce14a41_k.jpg
 

Bình luận bằng Facebook

Bên trên