Các mã thông báo khác nhau trong mã của bạn [biến, lớp, hàm, không gian tên, v.v. ] có thể được đặt tên bằng một trong ba kiểu này, nói chung
- Trường hợp lạc đà [ví dụ. someVar, someClass, somePackage. XYZ]
- Trường hợp Pascal [ví dụ. SomeVar, SomeClass, SomePackage. XYZ]
- Dấu gạch dưới [ví dụ:. some_var, some_class, some_package. XYZ]
Trong vỏ lạc đà, tên bắt đầu bằng chữ thường nhưng mỗi từ thích hợp trong tên được viết hoa và từ viết tắt cũng vậy. Ví dụ: các mã thông báo thường được sử dụng trong nhiều ngôn ngữ như toString, checkValidity, lineHeight, timestampToLocalDateTime, v.v. là tất cả các ví dụ về vỏ lạc đà
Cách viết hoa Pascal tương tự như cách viết hoa lạc đà ngoại trừ chữ cái đầu tiên cũng bắt đầu bằng chữ in hoa [SomeClass thay vì someClass]
Trong cách viết hoa gạch dưới, mọi thứ đều ở dạng chữ thường [kể cả từ viết tắt] và các từ được phân tách bằng dấu gạch dưới [some_class, some_func, some_var, v.v.]. Quy ước này còn được gọi phổ biến là trường hợp con rắn
Ý tưởng chung là bạn có thể sử dụng bất kỳ quy ước nào trong dự án của mình miễn là bạn nhất quán về việc sử dụng nó ở mọi nơi. Nhưng khi bạn viết mã cho một dự án hoặc nhóm lớn, bạn nên tuân theo tiêu chuẩn về những gì đang được sử dụng ở đó. Do đó, thật hữu ích khi nhận thức được các quy ước điển hình trong các ngôn ngữ lập trình khác nhau.
Thực tiễn chung cho ngôn ngữ kiểu C như Java hoặc JS là sử dụng camelCase cho tất cả các biến và thành viên đối tượng [thuộc tính & phương thức] và PascalCase cho tên lớp và hàm tạo. Không gian tên [hoặc Gói trong thế giới Java] thường ở trong camelCase
Nhưng một số ngôn ngữ tạo ra một ngoại lệ cho điều đó. Ví dụ, C# sử dụng PascalCase cho các không gian tên và thậm chí cả các phương thức công khai. Do đó, hàm chính [hoặc điểm vào] luôn là static void main[]
trong java nhưng là static void Main[]
trong C# [Lưu ý cách viết hoa của từ "Main"]
Một số ngôn ngữ không lấy được cú pháp từ C [chẳng hạn như Python & Ruby] sử dụng dấu gạch dưới cho hầu hết mọi thứ trừ tên lớp. Do đó, nó luôn luôn là sys.base_prefix
thay vì sys.basePrefix
, datetime
thay vì DateTime
, str.splitlines[]
thay vì str.splitLines[]
trong python
Trong trường hợp thư viện chuẩn của python, tôi nhận thấy rằng ngay cả các lớp cũng sử dụng dấu gạch dưới đôi khi điều này không nhất quán. Ví dụ, datetime.datetime
là một lớp và csv.excel_tab
cũng vậy. Mặc dù vậy, các khung và thư viện phổ biến [chẳng hạn như django và bình] sử dụng trường hợp lạc đà cho các lớp
Sự không nhất quán tương tự là trong PHP. Ngôn ngữ đang phát triển từ dấu gạch dưới sang vỏ lạc đà trong những năm gần đây nhưng một số mã thông báo cũ vẫn ám ảnh ngôn ngữ đó. Đối với người yêu cũ, static void Main[]
0 so với static void Main[]
1
Vì vậy, cuối cùng, tùy thuộc vào sở thích của bạn khi bạn bắt đầu một dự án. Nhưng sẽ hữu ích khi biết các quy ước thường được tuân theo trong các dự án mã nguồn mở phổ biến bằng ngôn ngữ mà bạn ưa thích là gì
Cập nhật
Có một trường hợp thứ tư cũng được chỉ ra bởi @ovais, cụ thể là trường hợp kebab. Nó rất giống với cách viết hoa gạch chân ngoại trừ việc gạch chân được thay thế bằng dấu gạch nối [dấu gạch ngang]. Vì vậy, static void Main[]
2 trở thành static void Main[]
3, điều này rõ ràng là không được phép vì dấu gạch ngang không được sử dụng để đặt tên mã thông báo vì nó đã được tích hợp sẵn cho toán tử trừ trong hầu hết các ngôn ngữ lập trình. Trường hợp trường hợp kebab được sử dụng thường xuyên nhất là để tạo các lớp trong biểu định kiểu css của bạn. Các tên như static void Main[]
4, static void Main[]
5 và static void Main[]
6 thường được các nhà phát triển web sử dụng khi viết HTML/CSS của họ. Quy ước này về cơ bản là trường hợp kebab
Cập nhật
Như @patrykrudnicki nói, các hằng số được xử lý khác nhau. Theo kinh nghiệm của tôi, dấu gạch dưới đầy đủ [static void Main[]
7] là một quy ước phổ biến cho các hằng số trong nhiều ngôn ngữ bao gồm Java, PHP và Python
Cập nhật
Tóm lại, đây là quy ước điển hình hoặc thường được tuân theo trong các ngôn ngữ lập trình nguồn mở được sử dụng nhiều nhất
TokenpythonJava/JSPHPvariableunder_scorecamelCasemix [tiến tới camelCase]functionunder_score[]camelCase[]mix [tiến tới camelCase[]]constantUNDER_SCOREUNDER_SCOREUNDER_SCOREclassPascalCasePascalCasemix [tiến tới PascalCase]namespaceunder_scorecamelCasemix [tiến tới PascalCase]
Ưu tiên cho trường hợp Pascal so với trường hợp lạc đà thường là một quy ước chứ không phải là một yêu cầu trong môi trường phát triển. Chương trình sẽ tiếp tục xây dựng và hoạt động bất kể sơ đồ đặt tên được sử dụng. Mã sẽ dễ đọc và dễ bảo trì hơn với ứng dụng chính xác của các trường hợp lạc đà của Pascal. Nó không phải là điều kiện tiên quyết cho trình biên dịchLần đầu tiên, việc sử dụng có hệ thống các chữ hoa trung gian cho các mục đích kỹ thuật là ký hiệu cho các công thức hóa học được phát minh bởi nhà hóa học người Thụy Điển tên là Jacob Berzelius vào năm 1813. Ông đề xuất rằng các nguyên tố hóa học nên được biểu thị bằng một ký hiệu gồm một hoặc hai chữ cái, đề xuất này nhằm thay thế việc sử dụng cực đoan các quy ước đặt tên và ký hiệu. Cách viết công thức mới này như “NaCl” sẽ được viết không có dấu cách
Những phong cách viết như vậy có các thuật ngữ cụ thể, ví dụ, Camel Case và Pascal Case. Ngoài hai cái này còn có nhiều cái khác, nhưng đây là những cái được sử dụng nhiều nhất
Vỏ lạc đà còn được viết là CamelCase và camelCase và còn được gọi là mũ lạc đà hoặc viết hoa ở giữa. Về cơ bản, nó là một bài tập viết các từ lại với nhau mà không có dấu cách hoặc dấu chấm câu, hơn nữa, để thể hiện sự phân tách các từ, có thể sử dụng một chữ cái viết hoa duy nhất, hơn nữa, chữ cái đầu tiên của từ đầu tiên có thể được viết bằng cả hai cách viết hoa. “iPhone” và “eBay” là hai ví dụ về trường hợp Camel
Trường hợp Pascal là một phong cách viết được sử dụng khi cần nhiều hơn một từ để truyền đạt ý nghĩa chính xác. Quy ước đặt tên của nó quy định rằng các từ được thêm vào nhau. Khi một chữ cái viết hoa duy nhất được sử dụng cho mỗi từ được thêm vào, việc đọc mã và hiểu mục đích của các biến sẽ trở nên dễ dàng hơn
Không có nhiều khác biệt giữa trường hợp Camel và trường hợp Pascal, điểm khác biệt duy nhất là trường hợp Pascal yêu cầu chữ cái đầu tiên của các từ được thêm vào phải là chữ hoa, trong khi trường hợp lạc đà không yêu cầu chữ cái của mỗi từ
Đây là video giải thích tất cả các kiểu trường hợp phổ biến với các ví dụ
Tiếp tục đọc để biết thêm
Nội dung trang
Trường hợp Pascal trong lập trình là gì?
Trường hợp Pascal có thể được viết là PascalCase, đó là quy ước đặt tên lập trình trong đó chữ cái của mỗi từ được thêm vào được viết hoa. Tên biến mô tả là bài tập tốt nhất của phát triển phần mềm, nhưng các ngôn ngữ lập trình hiện đại không yêu cầu các biến phải có khoảng trống
Trường hợp Pascal trở nên phổ biến do ngôn ngữ lập trình Pascal, hơn nữa, bản thân Pascal không phân biệt chữ hoa chữ thường và do đó không bắt buộc phải sử dụng PascalCase. Lý do PascalCase trở thành một quy ước tiêu chuẩn cho các nhà phát triển Pascal là vì nó đã cải thiện khả năng đọc mã
Quy ước đặt tên kiểu chữ hoa chữ thường của Pascal đôi khi có thể gây ra sự cố. Chẳng hạn, các từ viết tắt và từ viết tắt trở thành một thách thức đối với các nhà phát triển sử dụng PascalCase. Nếu nhà phát triển đang sử dụng API hình ảnh của NASA, thì hai biến đó sẽ phải tuân thủ quy ước đặt tên kiểu chữ hoa chữ thường của Pascal. Nó sẽ được viết dưới dạng NASAImages hoặc dưới dạng
NasaImages.
Ví dụ trường hợp Pascal
- thuật ngữ công nghệ
- Tổng giá trị
- sao thủ công
- MasterCard
Trường hợp lạc đà là gì?
Camel case là cách viết các cụm từ không có dấu cách và dấu chấm câu, nó có thể được viết là camelCase hoặc CamelCase và nó còn được gọi là viết hoa lạc đà hoặc viết hoa ở giữa. Để biểu thị sự phân tách của các từ, một chữ cái có thể được viết hoa, hơn nữa, từ đầu tiên có thể bắt đầu bằng chữ hoa hoặc chữ thường
Đôi khi, Nó được sử dụng trong tên người dùng trực tuyến, ví dụ: “johnSmith”. Nó cũng được sử dụng để tạo một tên miền nhiều từ dễ đọc hơn, chẳng hạn như trong việc quảng cáo “EasyWidgetCompany. com”
Trường hợp lạc đà được cho là cũng được sử dụng như một quy ước đặt tên trong lập trình máy tính, tuy nhiên, nó có nhiều cách hiểu do cách viết hoa tùy chọn trong chữ cái đầu tiên. Các chương trình khác nhau thích sử dụng cách viết hoa lạc đà khác nhau, một số thích chữ cái đầu tiên được viết hoa và những chương trình khác thì không
Kể từ những năm 1970, quy ước đặt tên đã được sử dụng trong tên của các công ty máy tính và thương hiệu thương mại của họ và tiếp tục cho đến ngày nay. Ví dụ
- CompuServe vào năm 1977
- WordStar năm 1978
- VisiCalc vào năm 1979
- NetWare năm 1983
- LaserJet, MacWorks, và PostScript vào năm 1984
- PageMaker năm 1985
- ClarisWorks, HyperCard, và PowerPoint vào năm 1987
Python có sử dụng trường hợp lạc đà không?
Vì Python là một ngôn ngữ lập trình nên có rất nhiều quy ước mà Python sử dụng và trường hợp Camel là một trong số đó. Đây là cách sử dụng nó, bắt đầu bằng cách viết hoa chữ cái của từ. Không tách các từ bằng dấu gạch dưới và sử dụng các từ viết thường
Python được coi là ngôn ngữ lập trình cấp cao, thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng một khoảng thụt đầu dòng quan trọng. Ngôn ngữ của nó là hướng đối tượng giúp các lập trình viên viết mã hợp lý, rõ ràng cho các dự án quy mô nhỏ cũng như lớn
Python hỗ trợ nhiều mô hình lập trình, bao gồm lập trình hướng đối tượng có cấu trúc và chức năng. Hơn nữa, python cũng được mô tả là ngôn ngữ "có pin" vì thư viện tiêu chuẩn toàn diện mà nó chứa. Python khá phổ biến, do đó nó luôn được xếp hạng là một trong những ngôn ngữ lập trình phổ biến nhất
Trường hợp nào được sử dụng trong Python?
Python được biết đến với khả năng đọc mã đáng kinh ngạc, vì nó sử dụng các quy ước đặt tên và chỉ những quy ước này mới có thể đóng một vai trò quan trọng trong việc viết mã tốt hay xấu. Python sử dụng một loại quy ước đặt tên khác ở các khía cạnh khác nhau, đây là các quy ước đặt tên được Python sử dụng
- Đối với các biến, hàm, phương thức và mô-đun. trường hợp con rắn
- cho các lớp học. Trường hợp Pascal
- Đối với hằng số. Trường hợp con rắn viết hoa
Các biến Python có nên là CamelCase không?
Có một nghiên cứu cho biết người đọc có thể nhận ra giá trị trường hợp Rắn nhanh hơn trường hợp Camel. Đây là lý do mà Python sử dụng trường hợp Snake thay vì trường hợp Camel
Quy ước đặt tên cho các biến cũng như tên phương thức chủ yếu là camelCase hoặc PascalCase. Python sử dụng các quy ước đặt tên làm cho khả năng đọc mã của nó tốt nhất. Đối với các biến, Python sử dụng Snake Case, Snake Case được tạo kiểu là Snake_case, trong trường hợp này, bạn phải điền vào khoảng trống bằng dấu gạch dưới [ _ ], hơn nữa, chữ cái đầu tiên của mỗi từ được viết bằng chữ thường. Nó chủ yếu được sử dụng trong máy tính, chẳng hạn như cho biến, tên chương trình con và cho tên tệp
Hơn nữa, trường hợp lạc đà được sử dụng trong ngôn ngữ lập trình để đặt tên cho các tệp và chức năng khác nhau mà không vi phạm luật đặt tên của ngôn ngữ cơ bản
Vỏ rắn vs Vỏ lạc đà
Có nhiều quy ước đặt tên và mỗi quy ước được sử dụng trong các khía cạnh khác nhau. Vỏ rắn và vỏ lạc đà là hai trong số đó
Trường hợp rắn được viết theo phong cách trong đó khoảng trống được điền bằng dấu gạch dưới, trong khi trường hợp Camel được sử dụng theo phong cách mà các cụm từ được viết không có dấu cách hoặc dấu chấm câu, để biểu thị sự phân tách các từ, bạn có thể viết hoa một chữ cái và
Chữ hoa đầu rắn chủ yếu được dùng trong máy tính, chẳng hạn như cho biến, tên chương trình con và cho tên tệp, còn chữ hoa lạc đà được dùng để đặt tên cho các tệp và chức năng khác nhau
Có một cách viết hoa khác gọi là Kebab case, trong cách viết này bạn sử dụng dấu gạch ngang để phân tách các từ
để kết luận
Có nhiều quy ước đặt tên, nhưng chúng ta sẽ đi sâu vào Trường hợp Camel và Trường hợp Pascal. Sự khác biệt giữa trường hợp Camel và trường hợp Pascal là, trong trường hợp Pascal, chữ cái đầu tiên của từ phải là chữ hoa, trong khi trường hợp lạc đà thì không bắt buộc
Python sử dụng nhiều quy ước đặt tên cho mọi khía cạnh khác nhau, đối với các biến nó sử dụng trường hợp rắn, như một nghiên cứu đã nói, người đọc có thể dễ dàng và nhanh chóng nhận ra các giá trị trường hợp rắn
Bạn có thể sử dụng bất kỳ quy ước đặt tên nào nếu nó giúp mã của bạn dễ đọc hơn. Vì một quy ước đặt tên cụ thể có thể giúp mã dễ đọc hơn, đây là lý do tại sao Python sử dụng trường hợp Snake