Là 1 software engineer, chắc hẳn bạn đã quen thuộc với câu nói của Leon Bambrick “Trong computer science có 2 vấn đề nan giải : việc vô hiệu hóa bộ nhớ đệm, đặt tên, và lỗi off-by-1”.
Việc đặt tên khi lập trình sẽ gặp khó khăn khi có nhiều quy ước đặt tên khác nhau.
Trong bài viết này tôi sẽ giải thích sự khác biệt giữa các loại case phổ biến trong lập trình.
Các nội dung sẽ đề cập :
Tại sao sử dụng Casing trong khi lập trình
1. Snake case là gì?
2. Kebab case là gì?
3. Camel case là gì?
4. Pascal case là gì?
Tại sao phải sử dụng Casing trong chương trình
Trong lập trình, dấu cách (space) là ký tự dành riêng. Sau đây là ví dụ :
Nếu bạn muốn tạo 1 biến trong chương trình, và tên của biến đó nhiều hơn 1 từ.
Để chương trình của bạn không bị crash, khi tạo biến thì không được để lại dấu cách giữa các từ khi tạo biến.
number of donuts = 34
Nếu bạn thử cách bên trên dưới thì sẽ gặp lỗi.
Hầu hết mọi ngôn ngữ lập trình (không phải là tất cả), đều coi 1 từ là 1 unit riêng biệt và duy nhất.
Number, of, donuts được xử lý riêng biệt do được ngăn cách với nhau bởi dấu cách ở giữa.
Để chương trình của bạn hoạt động chính xác, bạn cần xoá tất cả khoảng trắng và kết hợp các từ thành một chuỗi duy nhất theo một cách cụ thể. Và có 1 vài cách để combine được chúng.
Một vài quy tắc đặt tên được sử dụng phổ biến ở các ngôn ngữ lập trình, các quy tắc như là :
- snake case
- kebab case
- camel case
- pascal case
Khi sử dụng các kiểu case, không có cách nào được coi là sử dụng tốt nhất, nó phụ thuộc vào ngôn ngữ lập trình bạn sử dụng.
Khi lựa chọn case, hãy lựa chọn case thường được sử dụng trong ngôn ngữ lập trình của project.
Dù là kiểu case nào, cần nhất quán 1 kiểu case trong project.
Tốt nhất là chọn 1 kiểu case, và tuân thủ theo nó. Bằng cách đó, code của bạn sẽ dễ đọc, dễ hiểu, dễ bảo trì cho chính bạn và các dev khác làm cùng trong 1 nhóm.
Và tôi sẽ chia sẻ cụ thể hơn ở phía bên dưới.
Snake Case là gì ?
Snake case ngăn cách giữa các từ bằng dầu “_”
Khi sử dụng snake case, tất cả các chữ cái cần phải viết thường
Ví dụ về Snake case
number_of_donuts = 34
fave_phrase = "Hello World"
Snake case được sử dụng để tạo biến hoặc đặt tên phương thức.
Snake case cũng được dùng để đặt tên file, giúp dễ đọc.
Kiểu case này thường gặp trong ngôn ngữ Python nhưng ít được xuất hiện trong các ngôn ngữ lập trình như Java, Javascript hoặc TypeScript.
Bạn cũng sẽ gặp khi làm việc với databases, được sử dụng trong việc tạo tên table hoặc tên column trong databases.
Còn có 1 version khác của Snake case là tất cả các từ sẽ viết hoa, được gọi tên là screaming snake case.
Ví dụ về screaming snake case :
NUMBER_OF_DONUTS = 34
FAVE_PHRASE = "Hello World"
Version viết hoa này được sử dụng cho việc khai báo hằng số (const), rất phổ biến trong ngôn ngữ lập trình. 1 Constant là 1 data item, 1 giá trị không đổi trong suốt 1 vòng đời của 1 chương trình.
Kebab Case là gì ?
Kebab case rất giống với Snake case.
Sự khác biệt giữa Snake case và Kebab case là kebab case được ngăn cách giữa mỗi từ bằng ký tự gạch ngang “-”, thay vì dấu gạch dưới.
Vì vậy tất cả các từ đều viết thường, ngăn cách giữa các từ bằng ký tự gạch ngang “-”
Kebab case là một trong những cách kết hợp nhiều từ thành một từ duy nhất dễ đọc nhất.
Ví dụ về kebab case :
number-of-donuts = 34
fave-phrase = "Hello World"
Bạn sẽ thường bắt gặp cách sử dụng kebab case trong URLs.
Một URL (viết tắt của Uniform Resource Locator) là 1 unique address để truy cập một tài nguyên trên Web.
Camel Case là gì ?
Khi sử dụng Camel case, cần viết thường từ đầu tiên. Sau đó viết hoa chữ cái đầu tiên của mỗi từ tiếp theo.
Vì vậy, 1 chữ cái viết hoa xuất hiện ở đầu từ thứ 2 và ở mỗi từ tiếp theo sau đó.
Ví dụ về Camel case :
numberOfDonuts = 34
favePhrase = "Hello World"
Trong ví dụ numberOfDonuts, từ đầu tiên number được viết thường. Sau đó, chữ cái đầu tiên của từ thứ 2, “Of” được viết hoa, tương tự chữ cái đầu tiên của từ thứ 3, “Donuts”.
Bạn sẽ thường bắt gặp cách sử dụng Camel case trong Java, Javascript, TypeScript khi đặt variable, function, và tên method.
Pascal Case là gì ?
Pascal case tương tự như camel case.
Sự khác biệt duy nhất là Pascal case bắt buộc chữ cái đầu tiên của từ đầu tiên cũng được phải viết hoa.
Vì vậy, khi sử dụng Pascal case, mỗi từ sẽ bắt đầu bằng 1 chữ viết hoa (ngược với Camel case - từ đầu tiên là chữ thường).
Ví dụ về Pascal case :
NumberOfDonuts = 34
FavePhrase = "Hello World"
Bạn sẽ thấy Pascal case được sử dụng để đặt tên class trong hầu hết mọi ngôn ngữ lập trình.
Kết luận
Hy vọng bài viết này giúp bạn hiểu hơn về các case trong lập trình.
Nguồn tham khảo : https://www.freecodecamp.org/news/snake-case-vs-camel-case-vs-pascal-case-vs-kebab-case-whats-the-difference/