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

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


Bất cứ khi nào tôi làm code review, tâm trí tôi sẽ luôn phát ra ba cảm xúc 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ế? (mến 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 diễn tả một developer hào kiệt 

Có 2 con đường để đạt được những điều trên – tri thức và kinh nghiệm làm việc. tri 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 dượt và làm việc siêng năng. 

bởi thế, 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 hiện, 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ự thay 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ư sờ soạng mọi thứ trong đó. Do đó việc đặt tên cũng trở thành một trong những trở ngại 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 kì nhưng hà tiện được nhiều thời kì hơn cho sau này. nên, hãy coi sóc 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 đó. 

xoành xoạch nhớ rằng tên của bất kỳ variable, function hoặc class nào cũng có thể đáp đượ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 miêu tả tốt mà còn là nền tảng văn hoá chia sẻ 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 tiếng nói cụ thể theo miền được thiết kế để trình diễn.# nó một cách ăn nhậ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 đầu tiên trong bất kỳ ngôn ngữ 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 lệ luật vàng để viết các function sạch đẹp: 
Chúng nên nhỏ gọn 
Chúng chỉ nên tụ hội độc nhất vô nhị 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 ngôn ngữ 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ể bổ ích hơn một comment tốt. Mặt khác, không có gì có thể bừa bãi hơn những comment phù phiếm, vô bổ và tiêu tốn không gian. Nhưng bợt nhất là những comment lan truyền những thông tin sai lạc và dối trá. 

do vậy, comment có thể xem như là một tội ác. Tại sao? Bởi hầu hết thời kì, các comment càng cũ, sẽ càng khó khăn để duy trì chúng bởi hầu hết các lập trình viên thường chả quan hoài 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ở nên 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ần 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 trọng nhất của một nhà phát triển đích thực 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 đảo lộ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ị thay đổi 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ẽ tiếp kiến ảnh hưởng đến khả năng bảo trì của code lâu dài. 
Hãy sử 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 xác thự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 hiện 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ó nghĩa 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 sử 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 vớ lại với nhau 

Theo Robert Martin, “viết code sạch đòi hỏi việc sử dụng rất nhiều kỹ thuật được áp dụng thông qua một cảm giác về” sạch sẽ ” trong code. Do đó nó còn được gọi là giác 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ó thông qua thực hành, bền chí và kiên nhẫn. giác 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ó. 

cảm quan code giúp lập trình để chọn lựa các variation và dụng cụ tốt nhất để tạo ra code đẹp và sạch. 

Nói cách khác, Developer với giác 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 tác sẽ trường tồn với thời kì.

Không có nhận xét nào:

Đăng nhận xét

Stack Overflow đã phát hành nghiên cứu hàng năm về ngành công nghiệp lập trình.

Công ty cho biết ấn bản 2018 của nó đại diện cho nghiên cứu 'lớn nhất từng có' về thái độ, lương và nhân khẩu học của nhà phát triển...