Lời tạm biệt với việc dọn dẹp mã
- Một đồng nghiệp đã check-in đoạn mã họ viết suốt cả tuần vào lúc đêm muộn.
- Triển khai tính năng điều chỉnh kích thước hình dạng trên canvas của trình biên tập đồ họa.
- Mã hoạt động được, nhưng mang tính lặp lại.
Sáng hôm sau...
- Sếp đề nghị nói chuyện riêng và yêu cầu hoàn tác các thay đổi trong mã.
- Ban đầu tôi bị sốc, nhưng rồi nhận ra quyết định của sếp là đúng.
Giai đoạn
- Việc ám ảnh với "mã sạch" và mải mê loại bỏ trùng lặp là một giai đoạn mà nhiều lập trình viên từng trải qua.
- Khi thiếu tự tin vào mã của mình, rất dễ gắn lòng tự trọng và niềm tự hào nghề nghiệp vào những thứ có thể đo đếm được.
- Sau khi học về trừu tượng hóa, ta sẽ muốn dùng nó mỗi khi nhìn thấy mã lặp lại.
Ý kiến của GN⁺
- Điều quan trọng là mục tiêu không phải theo đuổi độ "sạch" của mã, mà đó là một dạng cơ chế phòng vệ khi xử lý các hệ thống phức tạp.
- "Mã sạch" giúp lập trình viên đóng vai trò người dẫn đường trong những vùng chưa biết, nhưng cũng cần biết buông bỏ thay vì chỉ bám chặt vào nó.
- Bài viết này đưa ra một góc nhìn thú vị, nhắc các lập trình viên về tầm quan trọng của hợp tác và tính thực dụng trong quá trình viết và bảo trì mã.
1 bình luận
Ý kiến Hacker News
"Clean Code" cần được làm mới hình ảnh thương hiệu
Việc lặp lại mã đôi khi có thể là điều tốt, nhưng đó không phải bằng chứng cho thấy clean code là xấu
Một đồng nghiệp đã viết rất nhiều mã bằng cách copy-paste
Rất có thể phiên bản clean code đã thay thế đoạn mã bẩn trước đó
Khi thay đổi mã, cần có review từ đồng nghiệp
Trong lĩnh vực tài chính, thường xuyên phải xử lý các sản phẩm giống nhau nhưng vẫn khác biệt
Các ngôn ngữ như Haskell tối đa hóa mức độ trừu tượng ở cấp độ ngôn ngữ
Việc tách các phép tính toán học lặp lại vào một hàm riêng là clean code
Giải thích về trừu tượng hóa tồi
Rob Pike từng nói: "một chút sao chép còn tốt hơn một chút phụ thuộc"