Tại sao phải Clean code?

Tại sao phải Clean code?

Tại sao phải Clean code?

Bài viết này sẽ giúp bạn trả lời cho câu hỏi nghe chừng dễ nhưng lại học búa “Tại sao phải Clean code?”.

Việc viết Clean code rất quan trọng vì nó cho phép bạn giao tiếp rõ ràng với người tiếp theo làm việc với những gì bạn đã viết. Khi bạn đã có tư duy Clean code và đồng nghiệp hay bạn bè cùng nhóm với bạn cũng vậy thì chắc hẳn năng lực của team bạn sẽ nâng cao đáng kể theo từng ngày.

Bạn cứ tưởng tượng những đoạn code bạn viết ra nhưng người khác không biết gì về nó phải nâng cấp, bảo trì nó. Có thể sau 1 tháng bạn vẫn còn nhớ, nhưng thử sau 3-6 tháng liệu bạn còn hiểu những gì bạn đã viết nếu không có Clean code không? Vậy làm sao người khác có thể hiểu được đây?

Tại sao phải Clean code?

Khi bắt đầu trở thành một lập trình viên, rất nhiều người nói với tôi rằng phải viết mã thật “sạch sẽ”, nhưng thực tế điều đó trông như thế nào, tôi vẫn chưa định hình được. Qua nhiều năm tiếp xúc và luyện tập, tôi đã đúc kết được những kinh nghiệm nêu ra trong những phần dưới của bài viết. Cùng tìm hiểu nào!

Clean code là gì?

Clean code (mã sạch) có nghĩa là đoạn code của bạn dễ đọc, dễ hiểu và dễ thay đổi. Nó đơn giản như có các biến, hàm và lớp được đặt tên, mô tả để khi đọc, bạn biết mỗi biến chứa hoặc làm gì mà không cần phỏng đoán bất cứ điều gì.

Hãy nhớ những nguyên tắc chính sau:

  • KISS, viết tắt của Keep It Simple, Stupid
  • DRY, viết tắt của Don’t Repeat Yourself

Tự hỏi bản thân xem có giải pháp nào tốt hơn để giải quyết các vấn đề hoặc sự phức tạp trong mã của bạn không. Bắt đầu xây dựng các thói quen tốt cho Clean code, chẳng hạn như:

  • Kiểm tra quy ước đặt tên của bạn, giữ chúng rõ ràng và ngắn gọn
  • Hãy kiên định, sử dụng các tên giống nhau trong các chức năng tương tự (Get và Fetch, Set và Update, Add và Append)
  • Nếu bạn sao chép mã nhiều lần, hãy xem xét các cách tốt hơn để rút ngắn mã của bạn đi
  • Đối với các yêu cầu cơ sở dữ liệu, hãy giữ nó càng đơn giản và hiệu quả càng tốt
  • Nếu bạn cảm thấy một đoạn mã quá phức tạp hoặc không phải là cách tốt nhất để làm điều đó, thì hãy dừng lại! Hãy dành cho bản thân một vài phút để suy nghĩ lại về quá trình này và xem liệu bạn có thể tìm ra cách tốt hơn hay không
  • Nhờ đồng nghiệp đánh giá, so sánh, tiếp thu các ý kiến để đoạn mã tốt hơn

Xem thêm: Một số yếu tố ảnh hưởng tới Clean Code

Tại sao Clean code quan trọng?

Hầu hết khi chúng ta viết code, chúng ta sẽ dần dần quên đi chúng. Rất có thể, bạn không phải là người duy nhất cần hiểu mã của bạn làm gì, đó là lý do tại sao những gì nó làm sẽ cần phải rõ ràng.

Bạn có thể sử dụng hình thức “comment code” nhưng nếu đó là hình thức giao tiếp duy nhất của bạn trong mã của bạn thì bạn đang viết mã bẩn. Tôi còn chưa nói đến việc nhiều người có vốn từ vựng về ngữ nghĩa hay kỹ thuật kém sẽ gây hiểu lầm khi có người đọc code của bạn.

Tại sao phải Clean code?

Tuy nhiên, điều này cũng có lợi khi mọi người đều có thể hiểu bạn đang viết comment để làm gì, họ sẽ đánh giá cao ý muốn nâng cao chất lượng mã của bạn. Hãy cố gắng comment code nếu nó quá khó hiểu còn không hãy thể hiện mã rõ ràng và có cấu trúc để người đọc có thể hiểu và không cần nhìn comment làm gì.

Nếu bạn nghĩ rằng bạn dành phần lớn thời gian để viết mã thì bạn đã nhầm. Bạn dành nhiều thời gian hơn để đọc mã, tìm ra lỗi, phát hiện vấn đề và tìm cách giải quyết chúng. Mã sạch làm cho tất cả những thứ đó trở nên dễ dàng hơn. Nếu có một điều mà tất cả các lập trình viên có thể đồng ý, thì đó là mã sạch sẽ tốt hơn.

Lợi ích của Clean code

Làm việc nhóm

Rất hiếm các lập trình viên có thể làm việc độc lập ngay từ đầu mà không có sự giúp đỡ, hỗ trợ từ bất kỳ ai. Làm việc với những người khác sẽ giúp bạn code có ý thức hơn, chú tâm vào những đoạn code và nâng cao trình độ tư duy về Clean code của mình.

Việc nhảy vào mã mà không có định hướng rõ ràng sẽ tốn thời gian khi không rõ đoạn mã đó làm gì hoặc tại sao mã lại làm như vậy, bạn sẽ lãng phí tài nguyên khi cố gắng khám phá mục đích của nó.

Hãy cố gắng tìm những đồng đội, cùng tham gia vào các project để học hỏi thêm nhiều điều có ích. Chỉ khi bạn làm việc cùng nhau mới phát hiện ra các vấn đề mà trước giờ làm việc độc lập không gặp phải.

Tại sao phải Clean code?

Tái sử dụng

Mã của bạn càng sạch, bạn càng có nhiều khả năng sử dụng lại nó! Viết mã rõ ràng giúp bạn trở thành một lập trình viên giỏi hơn vì bạn đang viết mã thực hiện một điều rõ ràng, không mất thêm thời gian để viết comment hay đi giải thích cho ai đó về đoạn mã của bạn. Mã sạch cũng giúp bảo trì dễ dàng và nhanh chóng hơn.

Cảm thấy tốt hơn về mã của mình

Yêu cầu sự giúp đỡ từ đồng nghiệp và sau đó phải lội qua đoạn mã được viết kém để tìm ra vấn đề không bao giờ là động lực cho sự tự tin của bạn. Viết mã rõ ràng sẽ cho phép bạn tạo ra mã chất lượng mà bạn tự hào chia sẻ với nhóm của mình, biết rằng họ cũng sẽ có thời gian làm việc trên đó dễ dàng hơn.

Bạn sẽ thấy sự phát triển

Không phải lúc nào bạn cũng viết mã rõ ràng! Và điều đó không sao cả, chúng ta luôn học hỏi và phát triển với tư cách là một lập trình viên. Khi bạn biết bạn yếu ở điểm gì, bạn sẽ cố gắng làm được nó và có thể làm tốt hơn. Nếu bạn dành thời gian để viết mã sạch ngay bây giờ, bạn sẽ gặt hái được những lợi ích của khả năng đọc và gỡ lỗi dễ dàng hơn.

Kết luận

Vậy bạn đã trả lời được câu hỏi “Tại sao phải Clean code?” chưa? Clean code không chỉ giúp bạn hay người khác đọc những đoạn code bạn viết ra dễ hiểu, dễ nâng cấp, bảo trì mà còn giúp bạn tiết kiệm thời gian trong việc tái sử dụng mã nguồn, giải thích cho người khác về mục đích của những dòng code bạn viết,…

Thật vui khi có ai đó khen bạn viết Clean code, hãy cố gắng luyện tập để có tư duy Clean code mỗi khi bắt đầu viết mã.

Tại sao phải Clean code?

Xem thêm: Chia sẻ và hướng dẫn về Clean code của anh Nguyễn Khắc Nhật:

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Leave a Reply

Your email address will not be published.