Code Convention là gì? Tổng hợp những quy tắc chung khi viết Code

Viết Code là một hoạt động không thể tránh khỏi khi bạn trở thành một lập trình viên. Tuy nhiên, để viết “Code sạch, Code đẹp” sao cho cả đội nhóm cùng hiểu là một vấn đề không thể thực hiện trong “một sớm một chiều”. Vì thế, Code Convention là một điều cần thiết để giúp Code của bạn tốt hơn. Vậy, Code Convention là gì? Những quy tắc chung khi viết Code ra sao?

Tìm hiểu về Code Convention

Code Convention là gì?

Code Convention được tạm dịch là quy ước viết Code. Có thể hiểu một cách đơn giản, Code Convention là một tập hợp các quy ước về cách để viết Code, đặt tên biến, class, hàm, file và rất nhiều quy tắc khác như thụt đầu dòng, comment, cách “.” cách “,”,… để cho các khối Code trở nên “clean” hơn.

Trong một dự án phần mềm lớn, khi toàn bộ lập trình viên của dự án đều tuân theo một quy tắc viết Code, giúp việc giao tiếp giữa các thành viên trở nên dễ dàng hơn. Dự án cũng sẽ có thể thêm các module chức năng nhanh chóng hơn, việc bảo trì và phát triển hệ thống sau này cũng sẽ dễ dàng hơn.

code-convention-la-gi

Tại sao nên sử dụng Code Convention?

Khi Code có Convention, hay Code theo quy tắc chung mà mọi người đều biết, điều này sẽ giúp cho hoạt động làm việc theo nhóm trở nên dễ dàng hơn. Trừ một số trường hợp đặc biệt, thông thường, một dự án phần mềm không thể được hoàn thiện chỉ với một cá nhân mà sẽ được thực hiện theo nhóm. Nếu mỗi người viết một phong cách khác nhau, những người còn lại sẽ “gai mắt” hoặc không hiểu bạn đang viết gì.

Vì thế, việc Code theo một quy ước chung sẽ giúp cho cả nhóm làm việc trơn tru hơn, hiểu nhau hơn và giảm thiểu tình trạng những câu hỏi như: “Bạn viết cái gì vậy!” “Cái này là cái gì vậy bạn hiền?”,…

Vậy, khi Code Convention chúng ta sẽ có những lợi ích như sau:

  • Giúp làm việc nhóm hiệu quả hơn
  • Thống nhất và tuân thủ theo một chuẩn dễ dàng làm việc hơn
  • Giúp người khác nắm bắt Code bạn viết nhanh hơn
  • Dễ dàng nâng cấp và cải tiến phần mềm
  • Có thể tái sử dụng trong nhiều phần mềm khác nhau
  • Thuận lợi trong việc phát triển và bảo trì hệ thống sau này

Tổng hợp những quy tắc chung khi viết Code

Naming Convention – quy tắc đặt tên

Một trong những việc khiến người khác có thể hiểu Code của bạn viết gì là thông qua: cách đặt tên các biến, hằng, class,… có thể gọi chung là định danh.

Khi thực hiện một bài tập nhỏ lúc bạn học tin học cấp 3 hay những bài tập giải thuật đơn giản, chúng ta được chỉ cách đặt tên biến là a, b, c, d. Tuy nhiên, điều này chỉ áp dụng cho những bài tập cấp thấp và không có quá nhiều chức năng.

Hãy tưởng tượng, một phần mềm khổng lồ như Windows với cả ngàn chức năng, liệu việc đặt tên a-b-c-d sẽ hiệu quả trong việc phát triển? Không hề! Nếu bạn đang học đại học/cao đẳng/ trung cấp và các thầy cô dạy vẫn chưa nói gì về đặt tên các hàm, các biến, sớm thôi họ cũng sẽ nhắc nhở bạn đấy!

Chúng ta sẽ có các cách đặt tên phổ biến như sau:

  • Cú pháp lạc đà – camelCase
  • Cú pháp Pascal – PascalCase
  • Cú pháp con rắn – snake_case

Tùy theo ngôn ngữ sẽ có một cách để sử dụng cú pháp riêng, nhưng bạn có thể tham khảo những ví dụ sẽ được nêu ngay sau đây nhé!

Trong hầu hết các công ty phần mềm trong nước hay ngoài nước, quy tắc đặt định danh đều sẽ được mặc định là sử dụng tiếng Anh.

code-convention-la-gi

Cú pháp lạc đà – camelCase

Cú pháp lạc đà là cú pháp có cách viết từ đầu tiên của cụm sẽ là viết thường và ký tự của những từ tiếp theo sẽ được viết hoa.

Thông thường, cú pháp này sẽ được dùng để viết các hàm, tên biến, phương thức.

Ví dụ về phương thức, hàm: firstName, lastName, runLow(), getOnTop(),…

Ví dụ về biến: int i; float spaceX,…

Cú pháp Pascal – PascalCase

Cú pháp Pascal là cú pháp sẽ được viết theo dạng viết hoa tất cả các ký tự đầu tiên trong từ của cụm.

Bạn có thể thấy việc này quá quen thuộc khi học Pascal lúc cấp 3, khi gõ lại bài tập từ một “thanh niên” nào đó “cứu” cả lớp đúng chứ? Thông thường, cú pháp này được sử dụng cho tên class, đôi khi là cả tên biến.

Ví dụ: class Mice, class MickeyMouse,…

Cú pháp con rắn – snake_case

Cú pháp con rắn sẽ có cách viết phổ biến là toàn bộ chữ cái đều viết thường và tách nhau ra bằng dấu gạch dưới “_”. Trong một vài trường hợp, một vài ngôn ngữ, chúng ta có biến thể là viết toàn bộ các chữ cái đều in hoa.

Thông thường, chúng ta sẽ nhìn thấy cú pháp này trong việc đặt tên hằng và đôi khi là tên chương trình.

Ví dụ như: MAX_SLECT, final_final1_final2,…

code-convention-la-gi

Ngoài ra, trong lúc đặt tên chúng ta còn cần phải lưu ý thêm:

  • Tên class, tên biến thường sử dụng danh từ
  • Tên hàm sẽ thường bắt đầu bằng động từ
  • Nên đặt tên theo kiểu gợi nhớ đến chức năng của chúng
  • Bạn không nên đặt tên theo kiểu viết tắt. Trong tương lai khi đọc lại Code bạn sẽ không hiểu hiện tại bạn đang viết gì
  • Tránh đặt tên theo kiểu chung chung không có ý nghĩa

Quy tắc số lượng

Một số quy tắc về số lượng trong cuốn sách Clean Code A Handbook of Agile Software Craftsmanship của Robert C. Martin, quyển Refactoring in Large Software Projects: Performing Complex Restructurings Successfully của Martin Lippert cũng như bộ quy tắc của Oracle có ghi như sau:

  • Một dòng Code không nên dài quá 80 ký tự
  • Một câu lệnh nên lồng tối đa 4 cấp
  • Một hàm không nên chứa quá 5 tham số
  • Một hàm không nên quá 30 dòng
  • Một class không nên vượt 500 dòng

Quy tắc comment – bình luận

  • Bạn nên tránh sử dụng comment để giải thích Code, việc hoàn thiện đoạn Code bằng như quy tắc đặt tên sẽ giúp Code của bạn dễ hiểu hơn.
  • Nếu bạn là người mới hoặc mau quên, việc sử dụng comment để giải thích việc mình làm với đoạn Code cũng là một ý hay đấy!

Quy tắc xuống hàng

Theo bộ quy tắc của Oracle, chúng ta có:

  • Nếu một hàm có nhiều cấp lồng nhau, mỗi cấp chúng ta nên xuống dòng.
  • Các đoạn Code bằng cấp nên ở cùng một cột với nhau, dòng xuống hàng nên bắt đầu cùng cấp với dòng phía trên.
  • Xuống hàng trước các toán tử ví dụ như: +, -, *, ?,…

Tham khảo: https://wiki.tino.org/code-convention-la-gi/