Thứ Bảy, 3 tháng 2, 2018

Học Cách Viết Code Sạch

02:01 Posted by Unknown No comments


Bất cứ khi nào tôi làm code review, tâm trí tôi sẽ luôn phát ra ba xúc cảm khác biệt: 
Cái quái gì thế? (chán nản) – Code này có cấp thiết đâu! 
Cái quái gì thế? (ngưỡng mộ) – thằng viết dòng code này hay thật! 
Cái quái gì thế? (bực bội) – nó viết cái gì thế này? 

Vậy chúng ta muốn thấy điều gì khi làm code review là gì? 


Code sạch đẹp. 



Và code sạch đẹp tả một developer hào kiệt 

Có 2 con đường để đạt được những điều trên – Kiến thức và kinh nghiệm làm việc. Kiến thức dạy cho bạn các mô hình, nguyên tắc, phương pháp. Nhưng kiến ​​thức này cần phải được nghiền ngẫm và thấm vào bạn bằng cách tập tành và làm việc siêng năng. 

cho nên, học cách viết code sạch sẽ là công việc khó khăn rất khó khăn. Bạn phải đổ mồ hôi vì nó. Bạn phải thực hành, vấp ngã, thất bại và làm chủ, sau đó lặp đi lặp lại các bước trên cho đến khi bạn làm đúng. Sẽ không có cách thức dễ dàng hay đường tắt. Mọi thứ đều đến từ sự cụ của chính bạn. 

Và sau đây là một số cách mà bạn có thể học để viết code sạch và đẹp. 
“Mọi thứ đều bắt đầu từ một cái tên” 

Tên ở khắp mọi nơi trong phần mềm. Chúng ta đặt tên cho các functions, classes, arguments, packages và nhiều thứ khác nữa. Ta cũng đặt tên cho source files và các thư mục cũng như cả thảy mọi thứ trong đó. Do đó việc đặt tên cũng trở nên một trong những trở lực quan yếu nhất trong việc giữ cho code sạch. 

Tên bạn đặt nên có ý nghĩa và mục đích rõ ràng. Chọn tên đẹp mất nhiều thời gian nhưng tùng tiệm được nhiều thời kì hơn cho sau này. nên chi, hãy coi ngó tên của bạn và đổi thay chúng khi bạn tìm thấy tên tốt hơn. Mọi người đọc code của bạn sẽ rất hàm ơn vì điều đó. 

Luôn luôn nhớ rằng tên của bất kỳ variable, function hoặc class nào cũng có thể trả lời được ba câu hỏi lớn là: tại sạo nó tồn tại, nó hoạt động ra sao và nó được sử dụng như thế nào. 

Điều này không chỉ đòi hỏi kỹ năng thể hiện tốt mà còn là nền tảng văn hoá san sớt vượt qua ranh giới và không ai có thể dạy cho bạn điều này tốt hơn bản thân bạn. 
“Function chỉ nên có một chức năng thôi” 

Mỗi hệ thống được xây dựng từ một ngôn ngữ cụ thể theo miền được thiết kế để diễn đạt nó một cách hợp. Function là các động từ của tiếng nói đó và class là những danh từ. Function thường là dòng trước tiên trong bất kỳ tiếng nói lập trình và nếu bạn viết nó tốt thì code của bạn cũng sẽ tốt theo. 

Chỉ có hai quy tắc vàng để viết các function sạch đẹp: 
Chúng nên nhỏ gọn 
Chúng chỉ nên hội tụ duy nhất vào một việc/chức năng. 

Nói cách khác, hãy hạn chế tối đa việc làm các function dài. Do đó, mức thụt lề của một hàm không được lớn hơn một hoặc hai. Kỹ thuật này làm cho việc đọc, hiểu và tiêu hóa chúng dễ dàng hơn. 

Các lập trình viên kinh nghiệm nghĩ về các chức năng như những câu chuyện được kể chứ không phải là code được viết ra. 

Họ dùng các tool của tiếng nói lập trình được lựa chọn của họ để xây dựng một khối code phong phú hơn, biểu cảm hơn và “sạch” hơn. 
“ Comment ​​không phải là lí do để viết code xấu “ 

Comment giống như một con dao hai lưỡi. Không có gì có thể hữu ích hơn một comment tốt. Mặt khác, không có gì có thể cực kì hơn những comment phù phiếm, vô dụng và tiêu tốn không gian. Nhưng tồi tệ nhất là những comment lan truyền những thông tin sai lạc và dối trá. 

nên, comment có thể xem như là một tội ác. vì sao? Bởi hồ hết thời kì, các comment càng cũ, sẽ càng khó khăn để duy trì chúng bởi hồ hết các lập trình viên thường chả quan tâm tới chúng bằng code của họ. 

Code luôn phát triển và tiến hóa. Comment thì ​​không và sẽ trở thành vấn đề cho sau này! 

xoành xoạch nhớ rằng code sạch với vài dòng comment sẽ luôn tuyệt hơn là code xấu và một đống comment không cấp thiết. Đừng phí thời kì viết comment giải thích đống code tởm lợm. Thay vào đó hãy xử lí vấn đề từ tận cỗi rễ: viết code thật sạch. 
“Code formatting là ưu tiên hàng đầu” 

có nhẽ điều này tuyên bố trên không thể được hiểu và là một trong những đặc điểm quan yếu nhất của một nhà phát triển thực sự GREAT. 

Chúng ta muốn mọi người phải ấn tượng bởi trật tự, chi tiết và sự rõ ràng trong tư tưởng. Nhưng trong khi nhìn vào code, nếu họ thấy một khối code không rõ đâu là bắt đầu và kết thúc, khôn xiết xáo trộn thì đó đúng là một thảm họa. 

Chức năng mà bạn tạo ra ngày bữa nay sẽ bị đổi thay trong phiên bản tiếp theo nhưng sự sạch sẽ trong code của bạn sẽ không bao giờ thay đổi. 

coding style và tính dễ đọc sẽ nối ảnh hưởng đến khả năng bảo trì của code lâu dài. 
Hãy dùng lệnh “try-catch-finally” 

Error handling là quá trình mà các lập trình viên đều phải làm qua. Bởi các giá trị và kết quả có thể không chính xác dù nó vẫn cho rằng là đã “đúng”. 

tuy thế, vấn đề không nằm ở Error handling mà là cách thực hành nó thật “sạch”. 

Và một trong những cách để làm điều này là bằng cách dùng các khối try-catch. Khi bạn execute code trong phần try của câu lệnh try-catch-finally, điều đó cũng có tức là execution có thể hủy bất cứ khi nào và bắt đầu lại tại catch . 

Vì lý do này, tôi khuyến dùng lệnh try-catch-finally khi bạn viết mã. 

xoành xoạch nhớ rằng mỗi ngoại lệ bạn đưa ra phải chứa đủ văn cảnh để xác định nguồn và vị trí của lỗi. Các thông báo lỗi thông tin sáng tạo sẽ được nhớ lâu hơn ngay cả khi bạn đã đã rời công ty. 
Mang tuốt luốt lại với nhau 

Theo Robert Martin, “viết code sạch đòi hỏi việc dùng rất nhiều kỹ thuật được ứng dụng ưng chuẩn một cảm giác về” sạch sẽ ” trong code. Do đó nó còn được gọi là cảm quan code “ 

Một số chúng ta được sinh ra với nó và một số phải bỏ rất nhiều công sức để nhận được nó chuẩn y thực hành, kiên trì và nhẫn nại. cảm quan code này không chỉ giúp chúng ta phân biệt giữa code tốt và code xấu mà nó cũng giúp chúng ta trong việc hình thành các phương pháp để biến code xấu thành code tốt. 

Nó chỉ cho chúng ta thấy rõ ràng rằng, chỉ đơn giản là nướng một chiếc bánh thì sẽ không giúp ích gì nếu bạn dùng phân chó để trang hoàng lên nó. 

giác quan code giúp lập trình để chọn lựa các variation và phương tiện tốt nhất để tạo ra code đẹp và sạch. 

Nói cách khác, Developer với cảm quan code sẽ như một họa sĩ với khả năng biến màng hình màu đen thành một tuyệt bút sẽ trường tồn với thời kì.

0 nhận xét:

Đăng nhận xét