Hướng dẫn javascript private function naming convention - quy ước đặt tên hàm riêng trong javascript

Là tiền tố nhấn mạnh trong JavaScript chỉ là một quy ước, ví dụ như trong các phương thức lớp Python Private?

Từ tài liệu Python 2.7:

Các biến thể riêng tư của người Viking không thể truy cập ngoại trừ từ bên trong một đối tượng don lồng tồn tại trong Python. Tuy nhiên, có một quy ước được theo sau bởi hầu hết các mã Python: một tên được đặt trước với dấu gạch dưới [ví dụ: _SPAM] nên được coi là một phần không công khai của API [cho dù đó là hàm, phương thức hoặc thành viên dữ liệu] .

Điều này cũng áp dụng cho JavaScript?

Lấy ví dụ mã JavaScript này:

function AltTabPopup[] {
    this._init[];
}

AltTabPopup.prototype = {
    _init : function[] {
        ...
    }
}

Ngoài ra, các biến tiền tố nhấn mạnh được sử dụng.

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...

Chỉ có quy ước? Hay có nhiều hơn sau tiền tố dấu gạch dưới?

Tôi thừa nhận câu hỏi của tôi khá giống với câu hỏi này, nhưng nó không làm cho một người thông minh hơn về tầm quan trọng của tiền tố nhấn mạnh trong JavaScript.

Ví dụ, một quy ước đặt tên JavaScript bằng ví dụ - cung cấp cho bạn ý thức chung khi nói đến việc đặt tên các biến, chức năng, lớp hoặc thành phần trong JavaScript. Không ai thực thi các quy tắc quy ước đặt tên này, tuy nhiên, chúng được chấp nhận rộng rãi như một tiêu chuẩn trong cộng đồng JS.

Các biến JavaScript là trường hợp nhạy cảm. Do đó, các biến JavaScript với các ký tự chữ thường và chữ hoa là khác nhau:. Therefore, JavaScript variables with lowercase and uppercase characters are different:

var name = 'Robin Wieruch';

var Name = 'Dennis Wieruch';

var NAME = 'Thomas Wieruch';

console.log[name];

console.log[Name];

console.log[NAME];

Một biến JavaScript phải tự mô tả. Không cần thiết phải thêm nhận xét cho tài liệu bổ sung vào biến:JavaScript variable should be self-descriptive. It shouldn't be necessary to add a comment for additional documentation to the variable:

var value = 'Robin';

var val = 'Robin';

var firstName = 'Robin';

Thông thường, bạn sẽ tìm thấy các biến JavaScript được khai báo với tên biến Camelcase có ký tự viết thường hàng đầu:

var firstname = 'Robin';

var first_name = 'Robin';

var FIRSTNAME = 'Robin';

var FIRST_NAME = 'Robin';

var firstName = 'Robin';

Có những trường hợp ngoại lệ cho các hằng số JavaScript, tư nhân và các lớp/thành phần - mà chúng tôi sẽ khám phá sau. Tuy nhiên, nói chung, một biến JavaScript - một chuỗi, boolean hoặc số, nhưng cũng là một đối tượng, mảng hoặc hàm - được khai báo với tên biến Camelcase.

Tổng quan ngắn gọn về các kiểu trường hợp khác nhau:

  • Camelcase [được sử dụng trong JS]
  • Pascalcase [được sử dụng trong JS]
  • snake_case
  • kebab-case

Công ước đặt tên JavaScript: Boolean

Một tiền tố giống như, là, hoặc đã giúp mọi nhà phát triển JavaScript phân biệt Boolean với một biến khác bằng cách chỉ nhìn vào nó:

var visible = true;

var isVisible = true;

var equal = false;

var areEqual = false;

var encryption = true;

var hasEncryption = true;

Trái ngược với các chuỗi và số nguyên, bạn có thể xem đó là một quy tắc mềm khác cho một quy ước đặt tên boolean của JavaScript bên cạnh việc được viết trong trường hợp lạc đà.

Các quy ước đặt tên JavaScript: Chức năng

Các chức năng JavaScript được viết trong trường hợp lạc đà quá. Ngoài ra, đó là một thông lệ tốt nhất để thực sự cho biết chức năng đang làm gì bằng cách đặt tên hàm một động từ là tiền tố.

function name[firstName, lastName] {

return `${firstName} ${lastName}`;

}

function getName[firstName, lastName] {

return `${firstName} ${lastName}`;

}

Động từ này như tiền tố có thể là bất cứ điều gì [ví dụ: nhận, tìm nạp, đẩy, áp dụng, tính toán, tính toán, bài đăng]. Đây là một quy tắc mềm khác để xem xét để có nhiều biến JavaScript tự mô tả hơn.

Quy ước đặt tên javascript: lớp học

Một lớp JavaScript được khai báo với một pascalcase trái ngược với các cấu trúc dữ liệu JavaScript khác:

class SoftwareDeveloper {

constructor[firstName, lastName] {

this.firstName = firstName;

this.lastName = lastName;

}

}

var me = new SoftwareDeveloper['Robin', 'Wieruch'];

Mỗi khi một hàm tạo JavaScript được gọi để khởi tạo một thể hiện mới của một lớp, tên của lớp sẽ xuất hiện trong trường hợp Pascal, vì lớp đã được tuyên bố với trường hợp Pascal ngay từ đầu.

Quy ước đặt tên JavaScript: Thành phần

Các thành phần không ở khắp mọi nơi trong JavaScript, nhưng thường được tìm thấy trong các khung phía trước như React. Vì một thành phần được khởi tạo - nhưng thay vào đó được thêm vào DOM - giống như một lớp JavaScript, chúng cũng được tuyên bố rộng rãi với trường hợp Pascal.

function userProfile[user] {

return [

First Name: {user.firstName}

Last Name: {user.lastName}

];

}

function UserProfile[user] {

return [

First Name: {user.firstName}

Last Name: {user.lastName}

];

}

Khi một thành phần được sử dụng, nó tự phân biệt với các thành phần HTML và Web gốc, bởi vì chữ cái đầu tiên của nó luôn được viết bằng chữ hoa.

Quy ước đặt tên JavaScript: Phương pháp

Giống hệt với các chức năng JavaScript, một phương thức trên lớp JavaScript được khai báo với Camelcase:

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
0

Ở đây các quy tắc tương tự như đối với các hàm JavaScript áp dụng - ví dụ: Thêm một động từ làm tiền tố-, để làm cho tên phương thức tự mô tả hơn.

Công ước đặt tên JavaScript: Riêng tư

Hiếm khi bạn sẽ tìm thấy một dấu gạch dưới [_] trước một biến/hàm/phương thức trong javascript. Nếu bạn nhìn thấy một, nó được dự định là riêng tư. Mặc dù nó không thể thực sự được thực thi bởi JavaScript, tuyên bố một cái gì đó như riêng tư cho chúng ta biết về cách nó nên được sử dụng hoặc làm thế nào nó không nên được sử dụng.

Chẳng hạn, một phương thức riêng trong lớp chỉ nên được sử dụng trong nội bộ, nhưng nên tránh sử dụng để sử dụng trong trường hợp của lớp:

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
1

Một biến/chức năng riêng tư cũng có thể xảy ra trong tệp JavaScript. Điều này có thể có nghĩa là biến/chức năng không nên được sử dụng bên ngoài tệp này mà chỉ nội bộ để tính toán logic kinh doanh tiếp theo cho các chức năng khác trong cùng một tệp ..

Các quy ước đặt tên JavaScript: Hằng số

Cuối cùng nhưng không kém phần quan trọng, có những hằng số-dự định là các biến không thay đổi-trong JavaScript được viết bằng chữ in hoa [chữ hoa]:

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
2

Nếu một biến có nhiều hơn một từ trong tên khai báo biến của nó, nó sẽ sử dụng một dấu gạch dưới [_]:

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
3

Thông thường các hằng số JavaScript được xác định ở đầu tệp JavaScript. Như đã gợi ý trước đây, không ai thực thi người ta không thay đổi biến ở đây, ngoại trừ một tuyên bố của biến cho các cấu trúc dữ liệu nguyên thủy, nhưng việc đặt tên viết hoa cho thấy tránh nó.

Các quy ước đặt tên JavaScript: Biến toàn cầu

Một biến JavaScript được xác định trên toàn cầu, nếu tất cả bối cảnh của nó có quyền truy cập vào nó. Thông thường bối cảnh được xác định bởi tệp JavaScript trong đó biến được khai báo/xác định, nhưng trong các dự án JavaScript nhỏ hơn, nó có thể là toàn bộ dự án. Không có quy ước đặt tên đặc biệt cho các biến JavaScript toàn cầu.

  • Một biến JavaScript toàn cầu được khai báo ở đầu một dự án/tệp.
  • Một biến JavaScript toàn cầu được viết trong Camelcase nếu nó có thể thay đổi.
  • Một biến JavaScript toàn cầu được viết bằng chữ hoa nếu nó là bất biến.

Các quy ước đặt tên JavaScript: Undercore

Vậy những gì về dấu gạch dưới và dấu gạch ngang trong các cách đặt tên biến JavaScript? Vì Camelcase và Pascalcase chủ yếu được xem xét trong JS, bạn đã thấy rằng dấu gạch dưới chỉ hiếm khi được sử dụng cho các biến riêng hoặc hằng số. Thỉnh thoảng bạn sẽ tìm thấy dấu gạch dưới khi nhận thông tin từ các bên thứ ba như cơ sở dữ liệu hoặc API. Một kịch bản khác mà bạn có thể thấy một dấu gạch dưới là các tham số chức năng không được sử dụng, nhưng đừng lo lắng về những điều này nếu bạn chưa thấy chúng ở ngoài đó ;-]

Quy ước đặt tên JavaScript: Dash

Một dấu gạch ngang trong biến JavaScript cũng không phải là lẽ thường. Nó chỉ làm cho mọi thứ khó khăn hơn; Giống như sử dụng chúng trong một đối tượng:

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
4

Thậm chí không thể sử dụng dấu gạch ngang trực tiếp cho một khai báo biến:

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
5

Đó là lý do tại sao tốt hơn để tránh chúng.

Các quy ước đặt tên JavaScript: Tệp

Có hai chiến lược đặt tên các tập tin trong JavaScript: Pascalcase và KebAB Case. Trong các ứng dụng phía trước JavaScript, bạn sẽ thường thấy Pascalcase cho các thành phần đặt tên [ví dụ: các thành phần React].

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
6

Ngược lại, trong ứng dụng phụ trợ JavaScript, trường hợp KEBAB là lẽ thường:

    ...
    this._currentApp = 0;
    this._currentWindow = -1;
    this._thumbnailTimeoutId = 0;
    this._motionTimeoutId = 0;
    ...
7

Bạn cũng sẽ thấy những người đặt tên Camelcase, nhưng tương tự như Pascalcase [xin lỗi các ứng dụng Frontend], có nguy cơ hệ điều hành đang xử lý chúng khác nhau có thể dẫn đến lỗi. Đó là lý do tại sao gắn bó với trường hợp kebab nên là tiêu chuẩn cho tên tệp trong JavaScript.

Nếu bạn muốn tìm hiểu thêm về kiểu và định dạng mã JavaScript, điều này không được thảo luận ở đây vì mục đích đặt tên, bạn chắc chắn nên kiểm tra ESLint và Prettier cho JavaScript.

Các quy ước đặt tên cho một hàm được sử dụng trong JavaScript là gì?

Các quy ước đặt tên ví dụ: Tên biến và tên chức năng được viết là Camelcase. Các biến toàn cầu được viết bằng các hằng số chữ hoa [chúng tôi không, nhưng nó khá phổ biến] [như PI] được viết bằng chữ hoa.Variable and function names written as camelCase. Global variables written in UPPERCASE [We don't, but it's quite common] Constants [like PI] written in UPPERCASE.

Các quy tắc đặt tên cho tên chức năng là gì?

Khi đặt tên cho một hàm, biến hoặc lớp, bạn nên ghi nhớ những điều sau:..
Chọn một từ có nghĩa [cung cấp một số bối cảnh].
Tránh tên chung [như TMP].
Đính kèm thông tin bổ sung vào tên [sử dụng hậu tố hoặc tiền tố].
Đừng làm cho tên của bạn quá dài hoặc quá ngắn ..
Sử dụng định dạng nhất quán ..

Làm thế nào để bạn đặt tên cho một biến riêng tư?

Chúng ta phải bắt đầu một tên biến với một dấu gạch dưới kép để thể hiện nó như một biến riêng tư [không thực sự].Ví dụ:- Một, hai, vv ..,.Như chúng tôi đã nói các biến có tên bắt đầu bằng một dấu gạch dưới kép không phải là riêng tư.start a variable name with a double underscore to represent it as a private variable [not really]. Example:- one, two, etc..,. As we already said the variables whose names start with a double underscore are not private.

Tại sao chúng ta sử dụng Camelcase trong JavaScript?

Khi nhiều từ được sử dụng để tạo thành một biến, trường hợp lạc đà kết hợp các từ đó lại với nhau, không có bất kỳ khoảng trắng nào và phân định sự khởi đầu của mỗi từ mới bằng một chữ cái viết hoa., camel case joins those words together, without any white space, and delineates the start of each new word with a capital letter.

Bài Viết Liên Quan

Chủ Đề