Sync 2-1 from ru to uk
tshemsedinov opened this issue · 0 comments
tshemsedinov commented
Here is latest update of 2-1 section:
Book/content/ru/2-1-Identifiers.md
Lines 7 to 27 in 83b7b4a
Есть разные конвенции (договоренности) о именовании, традиции языков и парадигм, но во всех них имена должны быть _консистентные_ (однотипные) и _понятные_ даже для тех, кто код этот не писал. Примеры хороших имен идентификаторов: | |
- Глобальные переменные: `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`; | |
- Если структура содержит два значения, как `tolalAndSubtotal`, то нужно назвать ее таким словом, которое обобщает их, например `order`; | |
- Кроме нарушения конвенций `BuyerCalculations` еще и очень не точный, не понятно, какие именно вычисления; | |
- Короткие сокращения типа `VE` - совершенно неприемлимы в качестве имен, если только это не общепринятые `i` и `j` для циклов или, `x` и `y` для координат и еще несколько подобных случаев. |