From 7a2205477f9127a065144b1fa3eb63527c4072ca Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Tue, 3 Jan 2023 15:58:31 +0200 Subject: [PATCH 1/3] Sync 2-1 translation from ru to ukr --- content/uk/2-1-Identifiers.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/content/uk/2-1-Identifiers.md b/content/uk/2-1-Identifiers.md index ac10980..0fb669e 100644 --- a/content/uk/2-1-Identifiers.md +++ b/content/uk/2-1-Identifiers.md @@ -2,6 +2,28 @@ Найважливіше у програмуванні — це давати зрозумілі імена ідентифікаторам (змінним, константам, параметрам, функціям, класам і т.д.) і розташовувати їх в програмі так, щоб вони були видні у потрібних місцях. При цьому моємо намагатися скоротити їх область видимості. Ідентифікатори можуть бути глобальними, оголошеними у файлі або імпортованими з інших модулів програми. +Є різні конвенції (домовленості) про іменування, традиції мов і парадигм, але у всіх них імена мають бути _консистентні_ (однотипні) і _зрозумілі_ навіть для тих, хто цей код не писав. Приклади хороших імен ідентифікаторів: + +- Глобальні змінні: `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 From 55ff66d7cda97be2960e3b65c473bf1647cae4aa Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Tue, 3 Jan 2023 16:14:55 +0200 Subject: [PATCH 2/3] Fix typo in identifier name --- content/ru/2-1-Identifiers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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` для координат и еще несколько подобных случаев. From 448d2225e28280fff7f7b93ec20d83838ead0fb3 Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Tue, 3 Jan 2023 16:16:43 +0200 Subject: [PATCH 3/3] Add missing section title --- content/uk/2-1-Identifiers.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/uk/2-1-Identifiers.md b/content/uk/2-1-Identifiers.md index 0fb669e..f75bd61 100644 --- a/content/uk/2-1-Identifiers.md +++ b/content/uk/2-1-Identifiers.md @@ -1,5 +1,7 @@ ## 2.1. Значення, ідентифікатор, змінна та константа, літерал, присвоєння +> Ідентифікатор (identifier) + Найважливіше у програмуванні — це давати зрозумілі імена ідентифікаторам (змінним, константам, параметрам, функціям, класам і т.д.) і розташовувати їх в програмі так, щоб вони були видні у потрібних місцях. При цьому моємо намагатися скоротити їх область видимості. Ідентифікатори можуть бути глобальними, оголошеними у файлі або імпортованими з інших модулів програми. Є різні конвенції (домовленості) про іменування, традиції мов і парадигм, але у всіх них імена мають бути _консистентні_ (однотипні) і _зрозумілі_ навіть для тих, хто цей код не писав. Приклади хороших імен ідентифікаторів: 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