Чистый код: 10 советов хорошего нейминга

Чистый код: 10 советов хорошего нейминга

Почему хороший код начинается не с архитектуры и паттернов, а с ясных имен и читаемости – и как именно это определяет его жизнь, безопасность и изменяемость

Начнем сначала

Хороший код начинается с одного – ясности.

Не с архитектуры. Не с паттернов. А с того, как вы называете переменные, функции, классы. Потому что читать код – важнее, чем писать. В 90% случаев вы будете не творить, а разбираться.

Есть четыре признака хорошего кода:

Читаемость, изменяемость, безопасность, производительность.

Последнее – на потом. Первые три – критичны. А из них главная – читаемость.

Если код не читается – он не живет.

Теперь к делу.

Десять правил, как называть вещи своими именами

1. Не скупитесь на смысл

maxAttempts – отлично.

m, c, counter – мусор.

Имя должно объяснять, что это, без комментариев.

2. Не надо «инфо»

value, info, data, object – это как назвать собаку «Животное».

userEmail, invoiceNumber – сразу понятно, про что речь.

3. Длина по важности

i – годится, если живет одну строчку.

Живет дольше – давайте имя, как человеку: с уважением и смыслом.

4. Говорите на понятном языке

Ваш бизнес – это и есть ваш словарь.

tin, vat, invoiceId – это хорошо.

var3 – это провал.

5. Убивайте магические числа

5 – ни о чем.

MAX_RETRIES = 5 – все ясно.

Давайте именам контекст. Это бесплатно.

6. Меньше отрицаний

isNotValid – мозг спотыкается.

isValid – и просто, и читаемо.

Проверку !isValid – видно с первого взгляда.

7. Имя должно звучать

Если вы не можете произнести название – выбросьте его.

Код обсуждают словами. А не угадыванием, как это читается.

8. Не затеняйте язык

list, map, range – звучит как ловушка.

Сегодня – переменная. Завтра – конфликт. Не надо.

9. Время – это важно

createdAt, deletedAt, updatedAt – все по порядку, все по-человечески.

date – это ни о чем. Какая дата? Чья дата?

10. Договоритесь и не спорьте

Один стиль – экономия жизни всей команды.

Разнобой = спагетти.

Решили – соблюдайте.

Примеры. Чтобы стало совсем понятно

Хорошо:
Product::getPrice() – сразу видно, что делает.

Очень хорошо:
Model::firstOrCreate(attrs, values) – магия Laravel.
Прочитал – понял, что сначала ищет, потом создает.

Плохо:
uploadArrayImage(models, collection_name, nameColumn, review)
Что делает? Для чего? Почему так называется? Бред.

Еще хуже:
Salary::calculate()
Что считает? Брутто? Нетто? В час? В секунду? В фантиках?

Вместо вывода

Вы – это то, как вы называете вещи.

Хороший код – как хороший текст: не бесит, не путает, не ломается.

Пишите так, будто за вами будут читать. Потому что будут.

Читайте также