Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync 2-1 from ru to uk #160

Open
tshemsedinov opened this issue Aug 8, 2022 · 0 comments · May be fixed by #187
Open

Sync 2-1 from ru to uk #160

tshemsedinov opened this issue Aug 8, 2022 · 0 comments · May be fixed by #187
Assignees
Labels

Comments

@tshemsedinov
Copy link
Member

tshemsedinov commented Aug 8, 2022

Here is latest update of 2-1 section:

Есть разные конвенции (договоренности) о именовании, традиции языков и парадигм, но во всех них имена должны быть _консистентные_ (однотипные) и _понятные_ даже для тех, кто код этот не писал. Примеры хороших имен идентификаторов:
- Глобальные переменные: `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` для координат и еще несколько подобных случаев.

@timagixe timagixe linked a pull request Jan 3, 2023 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants