0

[Programming 101] Snake Case là gì? Quy tắc đặt tên "con rắn" mà mọi Backend Developer phải biết

Hãy tưởng tượng bạn đang đọc một đoạn code của đồng nghiệp cũ để lại: totalorderamountofcustomer Bạn mất bao nhiêu giây để dịch ra nghĩa của nó? 5 giây? 10 giây?

Trong lập trình, khoảng trắng (space) thường không được phép xuất hiện trong tên biến hoặc tên hàm. Để giải quyết vấn đề này, các lập trình viên đã nghĩ ra nhiều cách để phân tách các từ, và Snake Case là một trong những cách phổ biến nhất để giúp code của bạn trở nên "dễ thở" hơn.

1. Snake Case là gì?

Snake Case (định dạng con rắn) là cách viết mà trong đó:

  • Tất cả các chữ cái đều được viết thường.
  • Các từ được phân cách với nhau bằng dấu gạch dưới (underscore - _).

Tại sao lại gọi là "Con rắn"? Đơn giản là vì khi bạn viết một chuỗi dài các từ nối với nhau bằng dấu gạch dưới, chúng trông giống như một con rắn đang bò trườn trên mặt đất.

Ví dụ: user_profile_id, created_at, total_price.

2. Khi nào thì nên dùng Snake Case?

Dù bạn có thể dùng Snake Case ở bất cứ đâu, nhưng trong thế giới IT, nó thường xuất hiện ở các "địa bàn" sau:

2.1. Trong Database (SQL)

Đây là "thánh địa" của Snake Case. Hầu hết các hệ quản trị cơ sở dữ liệu (MySQL, PostgreSQL) đều không phân biệt chữ hoa chữ thường một cách nhất quán. Việc đặt tên table hay column theo kiểu UserId đôi khi sẽ bị chuyển hết thành userid, rất khó đọc.

Chuẩn bài: order_items, discount_code.

2.2. Trong ngôn ngữ Python (PEP 8)

Nếu bạn học Python, bạn sẽ thấy Snake Case là quy định bắt buộc (Standard). Mọi tên biến và tên hàm trong Python đều phải tuân theo định dạng này.

  • Ví dụ: def calculate_total_amount():

2.3. Trong Backend (Laravel/PHP/Ruby)

Anh em làm Laravel chắc chắn không lạ gì việc các Database Columns luôn là Snake Case (ví dụ: remember_token), trong khi các phương thức (methods) có thể là Camel Case. Việc tuân thủ Snake Case trong DB giúp các thư viện ORM (như Eloquent) ánh xạ dữ liệu một cách tự động và chính xác.

3. So sánh nhanh với các "Case" khác

Để anh em không bị nhầm lẫn khi làm việc trong các dự án Full-stack, hãy nhìn bảng so sánh dưới đây:

Convention Định dạng Ví dụ Thường dùng cho
Snake Case word_word user_name Database, Python, PHP Variables
Camel Case wordWord userName JavaScript, Java (Variables, Methods)
Pascal Case WordWord UserName Class names (trong hầu hết ngôn ngữ)
Kebab Case word-word user-name URL, CSS Class, HTML tags

4. Tại sao Snake Case lại được yêu thích?

Tính dễ đọc (Readability): Dấu gạch dưới đóng vai trò như một khoảng trắng ảo. Mắt người có xu hướng nhận diện các từ tách biệt nhanh hơn là các từ viết dính liền nhau.

Tính nhất quán: Trong các hệ thống cũ hoặc các hệ thống file không phân biệt hoa thường, Snake Case là lựa chọn an toàn nhất để tránh xung đột dữ liệu.

Thân thiện với tìm kiếm: Khi bạn Ctrl+F để tìm một biến, Snake Case giúp bạn ít bị nhầm lẫn giữa các biến có tên tương tự nhưng khác kiểu chữ.

Lời kết

Snake Case không chỉ là một cách viết, nó là một phần của văn hóa lập trình. Việc nắm vững và sử dụng đúng lúc, đúng chỗ sẽ giúp anh em trở thành một Developer chuyên nghiệp, viết code "sạch" và nhận được sự tôn trọng từ đồng nghiệp khi họ review code của bạn.

Lời khuyên nhỏ: Dù bạn chọn Case nào, hãy NHẤT QUÁN. Đừng bao giờ đặt tên biến lúc thì user_name, lúc thì userId trong cùng một dự án nhé, đó là "tội ác" với người bảo trì code sau này đấy!

Anh em đang theo "phe" nào? Snake Case truyền thống hay Camel Case hiện đại? Để lại ý kiến dưới phần comment nhé!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí