Nguyên nhân nào gây ra code bẩn? Chúng ta hay giải thích do requirement thay đổi so với thiết kế ban đầu, do thời gian quá gấp gáp để làm mọi thứ kỹ lưỡng, do người quản lý dự án yếu kém và khách hàng cố chấp. Nhưng thật ra lỗi lầm là do chúng ta - những developer, do chúng ta thiếu sự chuyên nghiệp.
Đây có thể là 1 liều thuốc đắng khó nuốt, làm thế quái nào mà là do lỗi của coder được? Còn yêu cầu vô lý thì sao? Còn thời gian biểu dày đặc? Còn những gã quản lý phát xít? Họ không phải chịu trách nhiệm gì sao?
Không. Người quản lý đảm bảo cho dự án đúng tiến độ và cam kết, khách hàng thì kiểm chứng hệ thống phù hợp với requirement đưa ra, họ chỉ làm đúng phần việc của mình. Chính chúng ta đóng góp vào kế hoạch của dự án và do đó phải chịu trách nhiệm cho bất cứ thất bại nào, nhất là những thất bại do code bẩn.
Có thể bạn sẽ cãi “Nếu tao không làm theo lời sếp, tạo sẽ bị đuổi”. Chưa chắc, người quản lý nào thật ra cũng thích code sạch cả, code sạch nghĩa là ít bug, có thể họ sẽ thay đổi lại lịch trình, có thể họ sẽ bảo vệ thời gian biểu và requirement vì nghĩa vụ, nhưng bạn cũng có nghĩa vụ bảo vệ những dòng code của mình.
Giả định như chuyện gì xảy ra nếu người bệnh nhân yêu cầu bác sĩ dừng rửa tay trước khi phẫu thuật vì tốn thời gian? Rõ ràng khách hàng là thượng đế, nhưng chắc chắn bác sĩ sẽ từ chối, tại sao? Vì bác sĩ là người biết rõ hơn bệnh nhân về các mối nguy hiểm do vi khuẩn và nhiễm trùng. Thật là thiếu chuyên nghiệp (nếu không muốn nói là tội ác) nếu bác sĩ nghe theo lời bệnh nhân.
Vậy nên thật thiếu chuyên nghiệp cho lập trình viên nếu chiều theo sếp, người không hiểu về các hiểm nguy của code bẩn mang lại.
Nguồn: Clean Code by Robert C Martin
Dịch: Tom
Bài viết về coding standards trong PHP cho ai quan tâm https://goo.gl/QbTjbD
Mọi người chia sẻ thêm về ngôn ngữ, nền tảng mình đang sử dụng nhé