Tại sao phải duy trì sự nhất quán khi lập trình

Khi lập trình, có những thứ đơn giản (việc đánh dấu tab dài bao nhiêu kí tự, dấu ngoặc …) nhưng lại làm dấy lên các cuộc tranh cãi không có hồi kết. Ví dụ, tranh cãi về đánh dấu tab trên stackExchange. Thậm chí series phim truyền hình nổi tiếng Sillicon Valley dành hẳn 1 tập chỉ để nói về tab và space.


Thực ra thì bạn đánh dấu ngoặc như thế nào cũng được, quy định một tab bằng bao nhiêu kí tự cũng không quá quan trọng bởi chúng chỉ là “sở thích cá nhân”, hoặc cùng lắm là quy chuẩn của team. Điểm mấu chốt ở đây là khi bạn quyết định theo một quy chuẩn cú pháp, bạn phải duy trì nó đến hết dự án mà mình đang tham gia.

#1 Tại sao điều này lại cần thiết?

Hãy tưởng tượng bạn đọc một cuốn sách không được đánh số trang, cỡ chữ khác nhau trên từng dòng, căn lề thò thụt không đều…. Chắc chắn bạn sẽ cảm thấy ức chế và muốn quẳng cuốn sách đó vào sọt rác ngay lập tức.

Đọc code cũng vậy. Tôi cá là bạn không đủ kiên nhẫn để đọc hết những đoạn code “bửn” (ngoài việc gây khó chịu cho người đọc bằng việc không căn lề, xuống dòng theo một quy chuẩn nào đó, code bửn còn tiềm ẩn các lỗi khác)



Trong khi đó,nếu duy trì lập trình theo một quy chuẩn trong suốt thời gian xây dựng project ta nghiễm nhiên có được các lợi ích sau:
Merge dễ dàng hơn: khi merge, người sai quy chuẩn sẽ là người chịu thiệt (phải mất công dập các conflict).
Code trở nên dễ đọc, dễ hiểu, dễ đoán trước: nhờ đặc điểm này, team sẽ phối hợp với nhau tốt hơn
Lợi ích số 2 kéo theo hệ quả : dễ dàng “tiên đoán” và phát hiện lỗi 

#2 Cần duy trì những gì ?

Dấu cách

Dấu cách – whitespace là một công cụ tuyệt vời để tổ chức và căn chỉnh các đoạn code một cách đẹp mắt.

Thứ tự sắp xếp phần tử

Thứ tự sắp xếp phần tử là một yếu tố rất quan trọng khi bạn merging với SCM hoặc muốn tăng tốc độ review code. Để dễ hình dung, bạn hãy liên tưởng tới thứ tự sắp xếp các method trong class hoặc thứ tự sắp xếp các thành phần khác, gồm có: hằng, biến, constructor, method….

Dấu ngoặc


Cách sắp xếp các dấu ngoặc đã kéo theo vô số trận “kịch chiến” trên các diễn đàn lập trình. Ngoài vấn đề đặt dấu ngoặc cùng dòng với phần khai báo method hay dưới 1 dòng, cộng đồng lập trình viên còn để ý cả đến việc sử dụng dấu ngoặc với lệnh if-else… Hầu như lập trình viên của các ngôn ngữ sử dụng dấu ngoặc đều đã (và đang) tham gia những màn đấu súng không hồi kết giữa 2 phe.


Thời gian là vàng, chúng ta không nên mất thời gian tranh cãi những việc như thế. Thông tin tôi đưa ra ở trên chỉ để cho bạn thấy sự quan trọng của việc duy trì một style code xuyên suốt dự án của mình. Tôi nhấn mạnh một lần nữa, dù code convention của team không phải là styple mà bạn yêu thích, bạn vẫn có trách nhiệm tuân thủ nó chừng nào bạn còn làm việc với team.

Cách đặt tên

Trong lập trình, đặt tên biến, tên class cũng dễ dẫn đến tranh cãi. Rất khó để đưa ra định nghĩa hoàn chỉnh về “tên biến tốt” – bởi nó phụ thuộc vào rất nhiều yếu tố (ngôn ngữ lập trình, đặc điểm của các thành viên trong team…). Và các yếu tố này thì thường xuyên thay đổi theo môi trường và dự án mà lập trình viên đang làm việc. Sự thật là không có cách đặt tên biến nào được xem là tốt nhất. Chúng ta cần áp dụng các quy tắc đặt tên một cách linh hoạt. Và điều cuối cùng tôi nhấn mạnh lại, đó là tuân thủ quy tắc chung của team.


Cấu trúc các package

Các component trong ứng dụng của các bạn có thể tiến hành những nhiệm vụ khác nhau nhưng sẽ có lúc chúng cần truy cập tới một component khác ở tầng thấp hơn (ví dụ: các repositories, context configurations, entity, DAO…). Việc duy trì thống nhất một cấu trúc package xuyên suốt quá trình phát triển dự án vừa giúp xem xét đánh giá project thuận lợi hơn, vừa tránh được khó khăn trong việc import hoặc tham chiếu đến các class thuộc “tầng dưới”.

0 Response to "Tại sao phải duy trì sự nhất quán khi lập trình"

Đăng nhận xét

powered by Blogger | WordPress by Newwpthemes | Converted by ocsenden