Làm sao để code không bị comment nhiều

Sau khi liên tục review code của mọi người thì nhận thấy ae hay bị comment ở những điểm dưới đây. Tuấn sẽ note lại như dưới theo tần suất comment nhiều đến ít.

  1. Về coding convention
  • Cách đặt tên biến và tên hàm không nói lên hết ý nghĩa của biến đó, hàm đó.

Khi quyết định đặt tên cần suy nghĩ xem dùng động từ, hay tính từ, đặt tên kiểu snack case hay camel case, biến boolean thì nên bắt đầu bằng is...

Khi chọn đặt tên biến thì hãy nghĩ xem tên như này đã đúng convention chưa, đã nói lên hết ý nghĩa của biến hoặc hàm đó chưa, tên tiếng anh dùng đã chính xác chưa

Tham khảo: https://webdevetc.com/blog/laravel-naming-conventions/#section_variables

  • Viết code không có comment

Ae hãy coi viết code như viết văn, viết code không phải để chạy được mà viết code để người khác đọc được hiểu được 1 cách dễ dàng vì thế nên có comment giải thích cho function hoặc những logic xử lý trong function đặc biệt là logic đặc biêt

2. Tính maintenance của code

  • Copy code xong những code thừa không xoá đi

Khi code việc copy xử lý hoặc logic từ chức năng khác, file khác là thường xuyên. Tuy nhiên khi copy xong ae cần dò lại từng dòng xem dòng này mình có thực sự cần đến không nếu không cần thì không được copy

  • Lặp code

Cùng 1 logic lặp lại code ở 2 chỗ khác nhau chẳng hạn. 1 logic nếu dùng ở nhiều chỗ cần tách riêng logic ra 1 function mới

  • Code không theo chuẩn

Đặt URL không theo chuẩn RESTFUL

Logic nên viết ở service

Liên quan đến query hoặc scope nên viết ở model

Controller chỉ thực hiện việc điều hướng không nên xử lý logic

Việc code không theo chuẩn sẽ rất khó khăn cho việc maintenance và tính mở rộng code sau này

3. Self test và self review

  • Chưa self test đúng và đủ

Đây là điểm yếu lớn nhất của dev VN. Coi việc test là của tester

Code xong không tự check lại những gì mình đã code hoặc check qua loa cho xong dẫn đến sản phẩm không đạt chất lượng

Điều tối thiểu cần check lại các case trong yêu cầu của task và phải có evidence

Những case phức tạp hoặc test mất thời gian mới để cho tester check hộ

Fix comment xong không check lại hoặc chỉ check lại những chỗ đã sửa mà không ý thức được phạm vi ảnh hưởng

  • Chưa tự review source code của mình

Có rất nhiều cái khi nhìn PR là phát hiện ra nhưng ae vẫn không tự review và phát hiện ra được

Tạm thời memo lại mấy ý trên. Khi nào có thời gian sẽ memo tiếp và đưa thêm nhiều ví dụ thực tế hơn.