CLEAN CODE: What and why?
Lên cho ae siêu phẩm kinh điển với ae coder, và có lẽ mọi người đã nghe rất nhiều cụm từ này r: “Clean code”.
Ở công ty mình mọi người cũng hay chửi các đoạn code khó đọc, khó hiểu là “Code rác”. Nhưng thực sự sau khi đọc xong quyển sách này, mình nhìn lại source của dự án, đâu đâu cũng là code rác, bad code. Lúc đó mình mới nhận ra là: Ồ, có vẻ, các ae nghe nhiều nhưng chưa hiểu và áp dụng nó được bao nhiêu. Trong cuốn sách cũng có 1 hình ảnh mô tả về bad code làm mình bật cười:
Code càng bad thì số lượng “wtf” càng nhiều trong 1 khoảng thời gian. Và đúng với một người mỏ hỗn như mình, liên tục“cđgv”, “code đ gì thế này”, “ông thần này viết gì đây?”…
Vui vui là vậy, nhưng nghiêm túc thì cần trả lời 2 câu hỏi “What” and “Why” với vấn đề này, xem rốt cuộc nó là gì? Và để làm gì?
1. What? – Clean code là gì?
Nói miệng vanh vách thì đơn giản là: viết code dễ đọc, dễ hiểu, dễ bảo trì và mở rộng. Và thực sự thì nó cũng đúng là như thế thật =))). Nhưng đấy là nói miệng thôi, vào trong thực tế thì để viết được code luôn clean sẽ là rất khó và gần như không đạt được với một dự án to hơn rất nhiều so với ví dụ, với những bài học trên trường lớp. Nhưng chí ít tốt ít nào hay ít đấy, méo mó có còn hơn không nhỉ? Về chi tiết các quy tắc chung ta sẽ đi vào các bài viết sau.
2. Why? – Clean code để làm gì?
Sau khi hoà mình vào thị trường lao động vài năm, mặc dù công ty mình là công ty product, nhưng phần lớn thời gian của 1 dự án là bảo trì, phát triển tính năng dựa trên source code đã có. Vậy thì vấn đề quan trọng bậc nhất là phải đọc hiểu được source code đó viết gì, vậy chẳng phải code mình nên clean hay sao? Để cho người sau vào đỡ chửi nữa, đôi khi ở phương trời nào rồi cũng bị dí tên đấy.