Android, Chém gió công nghệ

Lập trình viên nên viết code “Tường minh” hay “Thông minh”?

Tuần vừa rồi, nhóm của tôi được yêu cầu xây dựng một sản phẩm cho công ty. Sau khi họp review design, concept,,..thì chúng tôi bắt tay vào quá trình ngồi lại, thống nhất cách viết code, kiến trúc của project. Thật không may là chúng tôi lại chia thành hai trường phái khác nhau. Bản thân tôi thì lại muốn viết cách code một cách rõ ràng và tường minh nhất, nhưng đồng nghiệp của tôi thì không nghĩ thế. Vậy, liệu chúng ta nên viết code “Tường minh” hay “Thông minh”?

Phàm đã làm lập trình viên, ai cũng mong muốn viết ra những dòng code thật đẹp đẽ, hoàn hảo. Nhưng, điều đó có cần thiết và khả thi?

Để khẳng định quan điểm viết code của mình, tôi đưa ra 3 luận điểm sau:

Code chỉ là công cụ.

Nhiều người nghĩ rằng viết code là mục đích công việc của nghề lập trình viên. Họ nhầm. Những dòng code không phải là sản phẩm – đích đến. Chúng chỉ là công cụ giúp lâp trình viên làm ra phần mềm với tình năng mà người dùng cần.

Code, với lập trình viên, cũng giống như lưỡi cưa hay chiếc búa đối với thợ mộc vậy. Một thợ mộc dù dùng cưa/búa thuần thục đến đâu, song nếu làm ra sản phẩm không tốt, thì vẫn là thợ mộc tồi. Cũng tương tự như vậy với nghề lập trình viên.

Khách hàng/sếp của bạn chỉ quan tâm đến tính năng thôi!

Bạn phải đi họp với khách hàng hoặc sếp. Bạn huyên thuyên về cách thiết kế database, hay là liệt kê bao nhiêu class, bao nhiêu dòng code đã viết xong? Bạn sẽ thấy, mặt những người nghe dài như cái bơm? Họ ngáp dài ngáp ngắn? Họ chăm chăm ngắt lời bạn? Bạn bèn “hờn cả thế giới” vì không có người hiểu mình.

Bạn nhầm. Không phải họ không đủ khả năng để nghe những vấn đề kỹ thuật, mà chỉ đơn giản là HỌ-CHẢ-QUAN-TÂM. Những nhiều mà khách hàng/sếp của bạn quan tâm là: tiến độ dự án, các tính năng hoạt động tốt không, còn thiếu sót/chỉnh sửa những gì, có rủi ro gì cần lưu ý không,…

Hãy nghĩ đến người bảo trì dự án sau này.

Bất kỳ đoạn mã nào khi được viết theo cách sạch sẽ, dễ hiểu và được định dạng đều dễ dàng được chấp nhận và hoan nghênh bởi một và tất cả. Điều cần thiết là tất cả các mã code chúng ta viết phải dễ hiểu bởi vì tất cả các lập trình viên không nhất thiết phải làm việc trên cùng một bộ mã luôn.

Để dễ dàng xác định và hiểu các mã code cho bất kỳ lập trình viên nào làm việc với nó sau này, điều cần thiết là các mã phải được cấu trúc, sạch sẽ, bảo mật và dễ bảo trì. 

Tại vì mày code…ẩu!

Đừng hiểu lầm. Tôi không hề cổ vũ cho việc code ẩu, code gian dối “sống chết mặc bay”. Trái lại, chính vì code là công cụ, nên trong nghề lập trình viên, việc sử dụng thành thạo, linh hoạt nhiều ngôn ngữ/framework lại càng quan trọng.

Nếu không làm chủ được “code” , lập trình viên sẽ không kiểm soát được chất lượng sản phẩm, và sớm hay muộn sẽ phải trả giá đắt cho những món nợ kỹ thuật.

Quan điểm của tôi ở đây là: trên đời này không có cách viết code nào hoàn hảo cả. Nên, hãy viết code tường minh, sạch sẽ, gọn gàng và dễ bảo trì nhất có thể. Nó sẽ tiết kiệm cho bạn rất nhiều thời gian để fix bug.

Một hệ thống lớn tồn tại hàng chục năm, song dòng đời của các dòng code lại ngắn hơn rất nhiều: chỉ có thể là vài tháng, vài ngày, hoặc thậm chí vài phút – nếu như bạn thay đổi giải pháp và buộc phải sửa code.

Kết luận

Mỗi một cách viết code đều có một cái hay riêng. Và đều góp phần hoàn thiện sản phẩm với mục đích cuối cùng là giúp người dùng trải nghiệm tốt hơn với sản phẩm của bạn.

Sếp mình vẫn thường bảo rằng:

Nếu một ngày đẹp trời nào đó, em giận anh và nghĩ việc thì anh phải tìm thằng khác để thay em bảo trì dự án, vì vậy mà hãy viết code một cách tường minh, dễ đọc, dễ hiểu, dễ bảo trì và thằng kia phải really nhất để có thể trong vòng 24h là có thể bay vào code ngay.

Còn riêng bản thân mình thì tâm đắc nhất câu này:

Fix bug là công việc khó gấp đôi Code. Nếu bạn vết code quá thông minh, thì bạn sẽ không thể Fix bug.

Tham khảo: https://mortoray.com/2015/04/20/nobody-cares-about-your-code/

Được gắn thẻ , , ,

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *