diff --git a/content/ru/2-1-Identifiers.md b/content/ru/2-1-Identifiers.md index 8452b60..83327d5 100644 --- a/content/ru/2-1-Identifiers.md +++ b/content/ru/2-1-Identifiers.md @@ -22,7 +22,7 @@ - Неочевидное сокращение `amt`; - Кроме явного нарушения концепций `grp_N` еще и вводит в заблуждение, это плохое сокращение, не нужно экономить на буквах до такой степени; - Не называйте переменные транслитом, как `itogo2` и не используйте цифры для именования переменных с похожим смыслом, попробуйте учесть оттенки смысла, например: `total` и `subtotal`; -- Если структура содержит два значения, как `tolalAndSubtotal`, то нужно назвать ее таким словом, которое обобщает их, например `order`; +- Если структура содержит два значения, как `totalAndSubtotal`, то нужно назвать ее таким словом, которое обобщает их, например `order`; - Кроме нарушения конвенций `BuyerCalculations` еще и очень не точный, не понятно, какие именно вычисления; - Короткие сокращения типа `VE` - совершенно неприемлимы в качестве имен, если только это не общепринятые `i` и `j` для циклов или, `x` и `y` для координат и еще несколько подобных случаев. diff --git a/content/uk/2-1-Identifiers.md b/content/uk/2-1-Identifiers.md index ac10980..f75bd61 100644 --- a/content/uk/2-1-Identifiers.md +++ b/content/uk/2-1-Identifiers.md @@ -1,7 +1,31 @@ ## 2.1. Значення, ідентифікатор, змінна та константа, літерал, присвоєння +> Ідентифікатор (identifier) + Найважливіше у програмуванні — це давати зрозумілі імена ідентифікаторам (змінним, константам, параметрам, функціям, класам і т.д.) і розташовувати їх в програмі так, щоб вони були видні у потрібних місцях. При цьому моємо намагатися скоротити їх область видимості. Ідентифікатори можуть бути глобальними, оголошеними у файлі або імпортованими з інших модулів програми. +Є різні конвенції (домовленості) про іменування, традиції мов і парадигм, але у всіх них імена мають бути _консистентні_ (однотипні) і _зрозумілі_ навіть для тих, хто цей код не писав. Приклади хороших імен ідентифікаторів: + +- Глобальні змінні: `MAX_PURCHASE`, `REQUEST_TIMEOUT`, `ERROR_CODES` +- Колекції: `prices`, `goods`, `boughtItems` +- Окремі значення: `amount`, `groupName`, `total` +- Функції: `calculateSubtotal`, `calculateTotal`, `validateExpenses` + +Приклади поганих імен розглянемо докладніше: + +- Глобальна константа `Maximum` - не зрозуміло, максимум чого, без другого слова константа не може бути глобальною; порушені конвенції використання малих і великих букв, замість `camelCase` тут використаний `PascalCase` і таку константу складно помітити при читанні коду; +- Таймаут запитів `request_timeout` - порушені конвенції; +- Коди помилок `ERCODE` - складно читається; незрозуміло, що це колекція кодів, а не один код; +- Масив цін `numbers` - не потрібно називати масиви іменами типів даних, які в них знаходяться, з цієї назви дуже складно зрозуміти, що там ціни; +- Масив товарів `arrayOfGoods` - не додавайте назви структур даних до імен змінних; +- Надто довге ім'я для колекції товарів: `orderItemsInShopBasket`; +- Неочевидне скорочення `amt`; +- Крім явного порушення концепцій `grp_N` ще й вводить в оману, це погане скорочення, не потрібно заощаджувати на літерах до такого ступеня; +- Не називайте змінні транслітом, як `itogo2` і не використовуйте цифри для іменування змінних зі схожим змістом, спробуйте врахувати відтінки сенсу, наприклад: `total` та `subtotal`; +- Якщо структура містить два значення, як `totalAndSubtotal`, то потрібно назвати її таким словом, яке узагальнює їх, наприклад `order`; +- Крім порушення конвенцій `BuyerCalculations` ще й дуже не точний, не зрозуміло, які саме обчислення; +- Короткі скорочення типу `VE` - абсолютно неприйнятні як імена, якщо тільки це не загальноприйняті `i` та `j` для циклів або, `x` і `y` для координат і ще кілька подібних випадків. + > Оголошення та присвоєння (assignment) ```js pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy