Bài viết được sự cho phép của tác giả Kiên Nguyễn
Thông thường những bạn mới ra trường, thường những năm đầu code rầm rầm. Nếu được hướng dẫn bởi Senior thì còn được chỉ dạy về Clean code. Còn lại thì đa phần chưa quan tâm gì mấy tới clean code, hay tới design pattern, cứ code chạy là được.
Làm khoảng 1,2 năm thì bắt đầu có ý thức hơn, tìm hiểu về clean code để áp dụng. Nhưng đôi khi lại nghĩ clean code là cái gì đó phức tạp với các đoạn code dài loằng ngoằng, thuật toán phức tạp.
Thực tế không phải như vậy, clean ở đây đôi khi chỉ là cái cách đặt tên class, tên hàm, tên biến sao cho dễ hiểu. Hãy cùng Kieblog tìm hiểu Clean code từ những điều đơn giản nhất nha.


Luôn chú ý viết source sao cho người sau đọc dễ hiểu, không càm ràm. Đặc biệt là không chửi thề!
1. Clean code từ cái tên
Cùng xem một vài ví dụ dưới đây. Hãy tượng tượng bạn là leader và được giao review code. Các code nào sẽ được bạn đánh giá cao?. Cái code nào sẽ tiện để maintainance sau này?
// Khai báo biến tổng số ngày trong tháng int d; int totalDaysInMonth;
2. Don’t be cute – dễ thương làm gì
Nguyên tắc đặt tên cho bất cứ thứ gì khi lập trình tất nhiên là phải rõ nghĩ. Tuy nhiên, không phải rõ nghĩa nên viết thêm cho loằng ngoằng rắc rối cả ra.
Việc đặt tên tốt nhất theo quy chuẩn chung, để các lập trình viên khác có thể hiểu được. Môi trường làm việc bây giờ quốc tế hóa.
Source code commit lên git có thể cho nhiều người khác tham khảo nên chú ý phần Clean code.
Đừng sử dụng từ địa phương, cũng đừng sử dụng những từ ngữ không quá phổ thông.
3. Don’t pun – đừng chơi chữ
Chơi chữ ở đây không mang nặng tính chất như sử dụng nghĩa bóng, cũng không phải nói xiên xẹo, móc mỉa một số người.
Chơi chữ ở đây chỉ đơn giản được hiểu là:
Ví dụ dễ hiểu nhất với Pun – Chơi chữ là method add(). Giả sử ta viết method add để thêm một số phần tử vào array list đã có sẵn. Khi nào method này trở thành chơi chữ?
Cùng là method add nhưng lại insert một record mới vào database. Cùng method add nhưng lại dùng để thêm item vào một list (như thế không gọi là Clean code, vì sẽ khiến người đọc confuse)
// Insert thường dùng cho database private void insert(RecordItem record) { } // Chú ý rõ nghĩa khi dùng, append dùng cho list, ... private void append(String item) { }
4. Class names và method names
Một số bạn bắt đầu quan tâm tới Clean code thường nghĩ về những đoạn code phức tạp, giải thuật phức tạp. Nhưng thực tế không phải vậy Clean code đôi khi chỉ đơn giản bắt nguồn từ một cái tên class, một tên biến.


Đối với kĩ sư phần mềm, đôi khi nghĩ một cái tên mới là công việc chiếm nhiều thời gian nhất. Nguồn ảnh/ Source: Twitter
Một lưu ý khác là class name không bao giờ nên là động từ. Không ai viết class Flight, chỉ có interface Flightable, thay vào đó người ta viết class Bird.
Ngược lại với classes thì method lại nên là động từ hoặc cụm động từ.
Đối với các method thực hiện kiểm tra các điều kiện boolean, nên bắt đầu bằng is. Như ví dụ function isPosted dưới đây.
string name = employee.getName(); customer.setName("mike"); if (paycheck.isPosted())...
5. Tham khảo
- Don’t be that guys!. Viết functions sao cho tốt?
- Clean Code: A Handbook of Agile Software Craftsmanship – Uncle Bob
- Refactoring: Improving the Design of Existing Code (2nd Edition)
Bài viết gốc được đăng tải tại kieblog.vn
Có thể bạn quan tâm:
- Protected: Viết code sạch (Clean code) được gì? Phần 1
- Code PHP làm sao cho sạch (Phần 1)
- 20 trường hợp sử dụng lệnh Docker cho developer
Xem thêm Việc làm Developer hấp dẫn trên TopDev