Những điều cần biết về Coding Convention

10:29 20/02/2023

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” là một quá tình chuyên sâu ”. Vì thế, Coding Convention là một điều cần thiết để giúp Code của bạn tốt hơn. 

Chất lượng của code có thể được cân nhắc dựa trên nhiều khía cạnh và tiêu chí khác nhau, không chỉ định dạng mà các lập trình viên còn phải tuân theo những quy ước nhất định tuỳ theo từng ngôn ngữ lập trình và nền tảng nhất định. Trong bài viết này, chúng ta sẽ cùng tìm hiểu code convention là gì, cũng như một số quy tắc chung khi viết code cho mọi ngôn ngữ lập trình.

Coding Convention là gì?

Quy tắc coding (Coding Convention) là một bộ quy tắc quy định cách viết code của một chương trình mà lập trình viên phải tuân theo phát triển chương trình đó. Đối với mỗi dự án sẽ có thể có những bộ quy tắc khác nhau, quy tắc đó có thể bao gồm những phần sau:

  • Đặt tên biến, lớp, interface, phương thức, …
  • Khai báo và sử dụng biến
  • Khoảng trắng, tab
  • Comment code
  • Độ dài mỗi dòng code, mỗi file, …
  • …..

Tầm quan trọng của tiêu chuẩn mã hóa

Quy tắc mã hóa là một thành phần rất quan trọng trong phát triển phần mềm, vì đây là một phần dễ bảo trì, sửa lỗi giúp cải thiện chất lượng sản phẩm, để những người khác hiểu được mã nguồn của mình.  và thống nhất mã giữa các thành viên trong nhóm.

Nếu có người nhờ bạn sửa lỗi chương trình giúp họ, bạn sẽ cảm thấy như thế nào nếu nhận được đoạn mã bảo trì này:

Và sự khác biệt hoàn toàn so với đoạn mã trên:

Chuẩn hình thức và chuẩn ngôn ngữ

  • Chuẩn hình thức

Chuẩn hình thức là những quy định liên quan đến sự định dạng của mã nguồn như:

  • Đặt tên lớp, thuộc tính, phương thức
  • Thụt đầu dòng
  • Sử dụng khoảng trắng
  • Đóng mở ngoặc
  • Chuẩn chữ nghĩa

Chuẩn chữ nghĩa là những quy định liên quan đến sự thực thi của mã nguồn như:

  • Biểu thức so sánh
  • Cấu trúc điều khiển: if, for, while
  • Khai báo và sử dụng biến
  • Cài đặt phương thức

White Space

Những quy định về sử dụng khoảng trắng (space), thụt đầu dòng, xuống dòng, dòng trống: giúp cho nội dung văn bản được tổ chức một cách có hệ thống để người đọc dễ dàng tiếp thu.

  • White Space – thụt đầu dòng

White Space được dùng để xác định một chuẩn thụt đầu dòng cho toàn bộ mã nguồn của chương trình.

1 đơn vị thụt đầu dòng = 1 tab hoặc 1 đơn vị thụt đầu dòng = 5 khoảng trắng

Các bạn nên dùng tab thay cho khoảng trắng để đỡ tốn công nhập quá nhiều lần khoảng trắng. Các bạn cũng có thể tùy chỉnh một đơn vị tab ứng với bao nhiêu khoảng trắng tùy ý, hai dòng code cách nhau một bậc thì sẽ cách nhau một đơn vị thụt đầu dòng.

  • White Space – Dòng trống

Những dòng code có quan hệ với nhau (cùng thực hiện một công việc) có thể được gom lại thành một block. Hai block code sẽ cách nhau ít nhất một dòng trống.

Khi đặt khoảng trắng, các dòng code thể được đặt sau dấu phẩy và dấu chấm phẩy, xung quanh các toán tử.

Dấu ngoặc

  • Dấu ngoặc tròn ()

Trong viết code, dấu ngoặc tròn được dùng để giúp người đọc hiểu rõ mục đích của người viết và để chắc chắn trình biên dịch sẽ thực hiện đúng theo ý của người viết.

Khi đang phân vân có nên dùng dấu ngoặc tròn hay không, hãy dùng nó ngay, đừng chần chừ! 

  • Dấu ngoặc nhọn {}

Theo tiêu chuẩn Java: dấu ngoặc nhọn “{” phải được đặt cùng dòng với các câu if, for, while,… mục đích mở ra một khối lệnh. Ngược lại, dấu “}” sẽ đóng khối lệnh.

Comment

Trong viết code, các comment không nên viết cầu kì, hãy đơn giản hóa chúng. Các bạn code đến đâu thì comment đến đấy.

Lưu ý:

  • Không nên comment lung tung, chỉ viết comment khi bạn cảm nhận là đoạn code của mình quá phức tạp.
  • Không viết các comment chỉ lặp code, comment thừa.
  • Khi dùng nhiều endline comment trên các dòng code liên tiếp nhau, bạn phải canh lề các comment này như nhau.

Quy ước đặt tên

  • Quy tắc viết hoa

Pascal case

Các chữ cái đầu mỗi từ được viết hoa. Các chữ còn lại được viết thường.

Ví dụ: SinhVien, GiangVien

Camel case

Camel case giống với Pascal case nhưng chữ cái đầu của từ đầu tiên viết thường.

Ví dụ: chieuCao, canNang

Đặt tên class, interface, abstract class

Sử dụng danh từ hay cụm danh từ: SinhVien, FormSinhVien, …

Dùng Pascal case: SinhVien, FormSinhVien, …

Hạn chế viết tắt gây khó hiểu:

Sai: FormSV

Đúng: FormSinhVien

Không dùng tiền tố khi đặt tên lớp:

Sai: ISinhVien

Đúng: SinhVien

  1. Phương thức

Để đặt tên phương thức, các bạn hãy sử dụng Camel case. Ví dụ: xepLoai.

Tên phương thức sẽ thể hiện được chức năng của phương thức đó. Ví dụ: tinhDiemTrungBinh.

Hãy tránh đặt tên gây cảm giác mơ hồ, không rõ nghĩa! Ví dụ: hienThi, tinh.

Các bạn không nên phân biệt tên các phương thức bằng số. Ví dụ: tinhDiem1, tinhDiem2.

  1. Biến
  • Biến

Để  đặt tên biến, các bạn sử dụng Camel case. Ví dụ: int diemTrungBinh, String hoTen

Khi đặt tên, đừng dùng tiền tố! Ví dụ:

Đúng: String address

Sai: String strAddress

Hãy đặt tên biến dễ gợi nhớ, tránh viết tắt gây khó hiểu. Ví dụ:

Đúng: String address

Sai: String addr

Các bạn không nên đặt tên biến chỉ bằng 1 chữ cái như x, y, z,,… trừ trường hợp các biến đếm i, j.

Đồng thời, đừng đặt tên biến quá dài hay quá ngắn, vì việc này có thể làm rối chương trình hoặc cũng dẫn đến ý nghĩa biến mơ hồ (quá ngắn).

  • Biến static, enum

Tất cả các từ được viết hoa và phân cách bằng dấu gạch dưới (_).

Ví dụ:

static float PI = 3.14f

static int MIN_WIDTH = 4

1

2

3

enum ShapeType{

    SQUARE, CIRCLE, RECTANGLE

}

  • Biến final

Đối với biến final toàn cục: Hãy đặt tên biết giống như biến static. Tất cả các từ được viết hoa và phân cách bằng dấu gạch dưới (_).

Đối với biến fianl cục bộ: đặt tên biến giống như biến thông thường.

1

2

3

4

5

6

7

8

9

public class HinhTron {

    // Biến toàn cục

    final float PI = 3.14f;

 

    public float tinhChuVi(int banKinh) {

        int duongKinh = banKinh * 2; // Biến cục bộ

        return duongKinh * PI;

    }

}

Đặt tên Package

Khi đặt tên package, tất cả chữ đều là chữ thường.

Ví dụ:

Đúng: com.example.deepspace

Sai: com.example.deepSpace hoặc com.example.deep_space

Sử dụng biến (variables)

Sử dụng biến được áp dụng để tránh tình trạng khai báo biến mà không sử dụng: nhiều trình biên dịch warning khi complie (Eclipse IDE). Các lệnh if, while, for không nên lồng nhau hơn 3 bậc.

Import thư viện sử dụng

Các bạn chỉ nên import thư viện sử dụng khi cần thiết chứ không nên sử dụng import tất cả.

Ví dụ: Hãy sử dụng import java.util.List; thay vì import java.util.*;

Nguồn tham khảo:

Bộ môn Ứng dụng phần mềm
Cao đẳng FPT Mạng cá cược bóng đá Hà Nội

Cùng chuyên mục

Đăng Kí học Fpoly 2023

Bình Luận