Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Quy ước mã hóa

Cập nhật lần cuối ngày 21 tháng 12 năm 2021

Các quy ước đặt tên mang lại sự nhất quán cho cơ sở mã của bạn, điều này giúp duy trì dễ dàng hơn. Trường hợp lạc đà, trường hợp Pascal và trường hợp rắn là ba quy ước đặt tên phổ biến nhất trong các ngôn ngữ lập trình hiện đại.


Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

TLDR

Giới thiệu

Đặt tên quy ước

Họ là ai?

Đặt tên quy ước dựa trên ngôn ngữ

Tại sao đặt tên quy ước?

Các quy ước đặt tên phổ biến nhất

Trường hợp lạc đà

Ví dụ trường hợp lạc đà

Cách sử dụng trường hợp lạc đà trong TypeScript

Vỏ rắn

Ví dụ trường hợp rắn

Việc sử dụng trường hợp rắn trong TypeScript

Sử dụng trường hợp rắn trong Python

Trường hợp Pascal

Ví dụ trường hợp Pascal

Việc sử dụng trường hợp Pascal trong TypeScript

So sánh các quy ước đặt tên trong các ngôn ngữ lập trình khác

Sự kết luận

Cái gì tiếp theo?


TLDR

Giới thiệu

  • Đặt tên quy ước always starts out lowercase with each word delimited by a capital letter (like personOne, textUtil, thingsToDo)
  • Họ là ai? is similar to camel case, but the first letter is always capitalized (like PersonOne, TextUtil, ThingsToDo)
  • Đặt tên quy ước dựa trên ngôn ngữ means that we delimit words with an underscore (like person_one, text_util, things_to_do)

Tại sao đặt tên quy ước?.

Giới thiệu

Đặt tên quy ước

Họ là ai?

Đặt tên quy ước dựa trên ngôn ngữ

Đặt tên quy ước

Họ là ai?

Đặt tên quy ước dựa trên ngôn ngữ

Đặt tên quy ước dựa trên ngôn ngữ

Tại sao đặt tên quy ước?

Các quy ước đặt tên phổ biến nhất

Tại sao đặt tên quy ước?

Các quy ước đặt tên phổ biến nhất

  • Trường hợp lạc đà How quickly can someone find a folder, file, feature, class, or method they need to change?
  • Ví dụ trường hợp lạc đà How fast can someone look at our code and understand what it is they're looking at?

Cách sử dụng trường hợp lạc đà trong TypeScript

Các quy ước đặt tên phổ biến nhất

Trường hợp lạc đà

  • Ví dụ trường hợp lạc đà
  • Cách sử dụng trường hợp lạc đà trong TypeScript
  • Vỏ rắn

Ví dụ trường hợp rắn

Trường hợp lạc đà

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Ví dụ trường hợp lạc đà

Cách sử dụng trường hợp lạc đà trong TypeScript

  • Vỏ rắn
  • Ví dụ trường hợp rắn
  • Việc sử dụng trường hợp rắn trong TypeScript

Sử dụng trường hợp rắn trong Python

Một số người tạo ra sự khác biệt giữa & nbsp; LowerCasecamel & nbsp; và & nbsp; Uppercasecamel, nhưng hầu hết các nhà phát triển gọi cái trước chỉ là trường hợp lạc đà và sau đó là trường hợp pascal (mà chúng ta sẽ nói sau).

Ví dụ trường hợp lạc đà

  • một số có thể
  • EventDispatcher
  • sự kiện Reprepo
  • Dervice
  • Phụ huynh

Cách sử dụng trường hợp lạc đà trong TypeScript

Trong TypeScript & JavaScript, quy ước trường hợp lạc đà được sử dụng để biểu thị rằng mã thông báo là một biến, hàm, phương thức, tham số hoặc thuộc tính.

type UserProps = {   
  firstName: string; // Used to signify properties
  lastName: string;
  email: string
}

interface Serializable { 
	toJSON (): string;  // A method also camel cased
}

class User implements Serializable {  
  private props: UserProps;   // Camel cased property
	
  // constructor and parameters are camel cased
  constructor (firstName: string, lastName: string) { 
    this.props = { firstName, lastName };
  }
  
  public toJSON (): string {
    return JSON.stringify(this.props);
  }
}

// Variables are camel case
const userOne = new User('Khalil', 'Stemmler');
const userTwo = new User('Nick', 'Cave');

Vỏ rắn

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Vỏ rắn (còn được gọi là trường hợp nhấn mạnh) là khi tất cả các chữ cái của từ này là chữ thường nhưng được phân định bởi một dấu gạch dưới.

Chúng tôi hiếm khi sử dụng quy ước mã hóa trường hợp rắn bằng các ngôn ngữ kiểu C như Java, JavaScript và TypeScript. Chúng thường chỉ được sử dụng trong các ngôn ngữ lập trình như thế này để biểu thị các hằng số. Để biểu thị một hằng số, chúng tôi thường thực hiện & nbsp; la hét trường hợp rắn: trường hợp rắn với tất cả các chữ cái viết hoa.

Bạn thường thấy trường hợp rắn trong ngôn ngữ kịch bản Python như được phổ biến trong Hướng dẫn theo phong cách & NBSP; Python.

Ví dụ trường hợp rắn

  • some_variable
  • event_dispatcher
  • events_repo
  • slack_service
  • parent_comment

Việc sử dụng trường hợp rắn trong TypeScript

Chúng ta hãy xem xét cùng một ví dụ về bản thảo và sửa đổi nó rất hay để chứng minh khi nào chúng ta có thể sử dụng quy ước đặt tên trường hợp rắn.

type UserProps = {   
  firstName: string; 
  lastName: string;
  email: string
}

interface Serializable { 
	toJSON (): string; 
}

class User implements Serializable {  
  private props: UserProps;  
  private static MAX_USERS: number = 10; // Screaming snake case                                          // to depict a constant	
  constructor (firstName: string, lastName: string) { 
    this.props = { firstName, lastName };
  }
  
  public toJSON (): string {
    return JSON.stringify(this.props);
  }
}

// Variables are camel case
const userOne = new User('Khalil', 'Stemmler');
const userTwo = new User('Nick', 'Cave');

Như bạn có thể thấy, Case Snake không phải là một quy ước đặt tên phổ biến trong các ngôn ngữ theo kiểu C như TypeScript. Chúng tôi chỉ có xu hướng sử dụng nó khi chúng tôi tuyên bố hằng số.

Sử dụng trường hợp rắn trong Python

Tuy nhiên, trong Python, quy ước đặt tên trường hợp rắn là phổ biến hơn nhiều. Lấy ví dụ tương tự được dịch thành Python, hãy xem cách sử dụng rộng rãi của trường hợp rắn.

import json

class User:
  props = {
    "first_name": "", # Properties of dictionary objects
    "last_name": ""
  }

  MAX_USERS = 10 # Screaming snake case on constants
  
  # Used on method parameters
  def __init__(self, first_name, last_name):  
    self.props["first_name"] = first_name
    self.props["last_name"] = last_name
  
  # Usage on method names
  def to_JSON(self):
    return json.dumps(self.props)

# We even use snake case to for naming variables
user_one = User("Khalil", "Stemmler")
user_two = User("Nick", "Cave")

Trường hợp Pascal

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Trường hợp Pascal tuân theo các quy tắc quy ước đặt tên trường hợp lạc đà giống nhau - tất cả trừ một: chúng tôi viết hoa chữ cái đầu tiên (ví dụ: & nbsp; một số có thể sử dụng được).

Trong các ngôn ngữ hướng đối tượng như Java và TypeScript, chúng tôi sử dụng trường hợp pascal để biểu thị các lớp, không gian tên và trừu tượng như giao diện.

Trong các ngôn ngữ kịch bản như Python, bạn sẽ hiếm khi tìm thấy mã trường hợp lạc đà hoặc pascal ngoại trừ khi xác định tên của lớp.

Ví dụ trường hợp Pascal

  • Một số có thể
  • EventDispatcher
  • Sự kiện Reprepo
  • Dervice
  • Phụ huynh

Việc sử dụng trường hợp Pascal trong TypeScript

Tiếp tục với cùng một ví dụ, hãy để Lôi nhìn vào nơi sử dụng trường hợp Pascal trong mã TypeScript.

type UserProps = {    // Types are also abstractions
  firstName: string; 
  lastName: string;
  email: string
}

interface Serializable {   // Interfaces use pascal case
	toJSON (): string; 
}

class User implements Serializable {  // Class names use pascal case
  private props: UserProps;  
  private static MAX_USERS: number = 10;
                                         
  constructor (firstName: string, lastName: string) { 
    this.props = { firstName, lastName };
  }
  
  public toJSON (): string {
    return JSON.stringify(this.props);
  }
}

const userOne = new User('Khalil', 'Stemmler');
const userTwo = new User('Nick', 'Cave');

So sánh các quy ước đặt tên trong các ngôn ngữ lập trình khác

Ở đây, một bảng mô tả tất cả các quy ước đặt tên điển hình cho các ngôn ngữ: Python, C#, TypeScript và Java.

PythonC#TYPEXTRIPTJava
Chức năng & Phương phápsnake_case ()Pascalcase ()Camelcase ()Camelcase ()
các lớp họcPascalcasePascalcasePascalcasePascalcase
giao diệnN/aPascalcasePascalcasePascalcase
giao diệnN/aPascalcasePascalcasePascalcase
giao diệnN/akhông gian tênhằng sốhằng số

Snake_case

Tiếng la hét \ case

  • Screaming_snake_case
  • Sự kết luận
  • Tóm tắt,
  • Các quy ước mã hóa là các mẫu, kỹ thuật, kiểu dáng và phương pháp tiếp cận để cải thiện khả năng duy trì mã của bạn và các quy ước đặt tên là một trong những kỹ thuật như vậy.
  • Các quy ước đặt tên cải thiện khả năng duy trì bằng cách sử dụng tính nhất quán để tối ưu hóa khả năng khám phá và hiểu biết.
  • Đặt tên quy ước phụ thuộc vào ngôn ngữ. Mỗi ngôn ngữ có các quy ước đặt tên riêng để chỉ định việc sử dụng mã thông báo lập trình.

Trường hợp lạc đà (ví dụ: Camelcase) thường dành cho các biến, thuộc tính, thuộc tính, phương thức và chức năng.

Case Snake (ví dụ: Snake_case) thường được sử dụng trong các ngôn ngữ kịch bản như Python và như một hằng số trong các ngôn ngữ theo kiểu chữ C khác.

Trường hợp Pascal (ví dụ: Pascalcase) chủ yếu được dành riêng cho tên lớp, giao diện và không gian tên.



Cái gì tiếp theo?

Nếu bạn đang thiết lập một dự án mới hoặc cải thiện dự án hiện có, tôi khuyên bạn nên xem loạt bài về thực thi các quy ước với Husky.



Ngoài ra, tôi sẽ cho rằng bạn quan tâm đến việc tìm hiểu về các cách để cải thiện khả năng duy trì mã của bạn. Trong trường hợp đó, tôi khuyên bạn nên học TDD, viết các bài kiểm tra chấp nhận và áp dụng cách tiếp cận dựa trên tính năng để thiết kế phần mềm.

Thảo luận

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Thích cái này? Hát lớn và tự hào.

Giữ liên lạc!
Software Essentialist ⚡

Tận hưởng cho đến nay? Tham gia hơn 15000 phần mềm cần thiết nhận được bài đăng của tôi được gửi thẳng vào hộp thư đến của bạn mỗi tuần. Tôi sẽ không spam ya. 🖖




Thông tin về các Tác giả


Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Khalil Stemmler, phần mềm Essentialist ⚡

Khalil là một nhà phát triển phần mềm, nhà văn và nhạc sĩ. Ông thường xuyên xuất bản các bài viết về thiết kế dựa trên tên miền, thiết kế phần mềm và TypeScript & Node.js thực tiễn tốt nhất cho các ứng dụng quy mô lớn.

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Xem thêm trong các quy ước mã hóa

Sáu khuôn mẫu đối tượng hoạt động như các khối xây dựng - các yếu tố rập khuôn - của bất kỳ thiết kế nào.

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Các yêu cầu phi chức năng (với ví dụ) Phân tích hướng đối tượng

Các yêu cầu phi chức năng là các thuộc tính chất lượng mô tả hệ thống nên như thế nào. Họ đánh giá toàn bộ hệ thống ...

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

Sự phụ thuộc, thành phần, phái đoàn và tập hợp trong lập trình hướng đối tượng là gì? Lập trình hướng đối tượng

Bốn nguyên tắc của lập trình hướng đối tượng (trừu tượng hóa, kế thừa, đóng gói và đa hình) là các tính năng mà -...

Hướng dẫn camel case vs pascal case - vỏ lạc đà so với vỏ pascal

4 Nguyên tắc lập trình theo hướng theo hướng đối tượng

Bốn nguyên tắc của lập trình hướng đối tượng (trừu tượng hóa, kế thừa, đóng gói và đa hình) là các tính năng mà -...

4 Nguyên tắc lập trình theo hướng theo hướng đối tượng

Nội dung xu hướng

Cách học Thiết kế phần mềm và kiến ​​trúc | Bản đồ kiến ​​trúc & thiết kế phần mềm đầy đủ

Thiết kế và kiến ​​trúc phần mềm là khá nhiều lĩnh vực nghiên cứu của riêng nó trong lĩnh vực điện toán, như DevOps hoặc UX Design. Dưới đây là bản đồ mô tả độ rộng của thiết kế và kiến ​​trúc phần mềm, từ mã sạch đến microkernels.

[Sê-ri] Thiết kế dựa trên tên miền W/ TypeScript và Node.js

Tìm hiểu cách sử dụng DDD và các khái niệm lập trình hướng đối tượng để mô hình hóa các phụ trợ Node.js phức tạp.

Bạn muốn được thông báo khi nội dung mới ra mắt?

Tôi có nên sử dụng trường hợp Pascalcase hay Camel không?

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à trình xây dựng lớp. Không gian tên (hoặc các gói trong thế giới Java) thường nằm trong Camelcase.camelCase for all variables and object members (properties & methods), and PascalCase for class names and constructors. Namespaces (or Packages in Java world) are usually in camelCase.

Trường hợp lạc đà có giống như trường hợp tiêu đề không?

Trường hợp lạc đà khác với trường hợp tiêu đề, viết hoa tất cả các từ nhưng vẫn giữ được khoảng trống giữa chúng và từ chữ cao, sử dụng thủ đô để nhấn mạnh sự khác biệt giữa các tên sản phẩm trông tương tự như "prednisone" và "prednisolone"., which capitalises all words but retains the spaces between them, and from Tall Man lettering, which uses capitals to emphasize the differences between similar-looking product names such as "predniSONE" and "predniSOLONE".

Tại sao nó được gọi là Pascalcase?

Quy ước đặt tên trường hợp Pascal Thuật ngữ trường hợp Pascal được phổ biến bởi ngôn ngữ lập trình Pascal.Bản thân Pascal là trường hợp không nhạy cảm, vì vậy việc sử dụng Pascalcase không phải là một yêu cầu.Tuy nhiên, nó đã trở thành quy ước tiêu chuẩn cho các nhà phát triển Pascal, vì nó đã cải thiện khả năng đọc của mã.Pascal itself is case insensitive, so the use of PascalCase was not a requirement. However, it became standard convention for Pascal developers, as it improved the readability of code.

Pascalcase và trường hợp kebab là gì?

Camel, Pascal, Kebab và Snake Case (và các trường hợp khác) đều là những quy ước đặt tên mà chúng tôi sử dụng trong lập trình máy tính để có thể tạo tên ghép cho các biến, loại, chức năng, clase và các cấu trúc khác trong mã nguồn.