Post #42
537
📃 «Чистый код» Р. Мартин Содержательные имена
И снова здравствуйте 🧃
Потихоньку начинаю закрывать гештальты с литературой, которая долгое время покоится на полке и не дает покоя мне, а значит здесь появляется новая рубрика с заметками по определенным главам (может и всем, тут в процессе определимся).
Посему, если формат зайдет, то ненавязчиво предлагаю ставить реакции прямо вот там снизу, ну и все аппеляции или комментарии тоже приветствуются, а мы начинаем.
Речь в главе пойдет про переменные для всех, кто устал от
🧠 1. Передавайте намерение
const
const
Если название все еще требует комментарий — его надо менять.
🚫 2. Избегайте дезинформации
Если
🔀 3. Делайте различия осмысленными
🗣 4. Произносимость важна
🔍 5. Используйте имена, которые легко найти
💡 6. Префикс I в интерфейсах не обязателен
🏷 7. Классы — существительные, методы — глаголы
🧩 8. Не перегружайте смыслами
Слово
🌍 9. Пространство задачи или решения
Термины из предметной области (
📦 10. Добавляйте контекст, где нужно
А вы как часто сталкиваетесь с плохими переменными или пишете их сами? Признавайтесь 😐
#чистыйкод #робертмартин #js
И снова здравствуйте 🧃
Потихоньку начинаю закрывать гештальты с литературой, которая долгое время покоится на полке и не дает покоя мне, а значит здесь появляется новая рубрика с заметками по определенным главам (может и всем, тут в процессе определимся).
Посему, если формат зайдет, то ненавязчиво предлагаю ставить реакции прямо вот там снизу, ну и все аппеляции или комментарии тоже приветствуются, а мы начинаем.
Речь в главе пойдет про переменные для всех, кто устал от
a, b, x, a123 и прочего безобразия, список рекомендаций автор выдал следующий:🧠 1. Передавайте намерение
const
u — не информативно.const
usersList — сразу ясно, про что переменная.Если название все еще требует комментарий — его надо менять.
🚫 2. Избегайте дезинформации
Если
usersList — это объект, а не список — это запутывает. Название должно соответствовать сути.🔀 3. Делайте различия осмысленными
f и l — это что? firstName и lastName — сразу понятно. Не жертвуйте читаемостью ради длины.🗣 4. Произносимость важна
smth, cntnt, usrnm — сокращения, которые сложно читать и обсуждать. Лучше полностью: something, content, username.🔍 5. Используйте имена, которые легко найти
event проще найти в коде, чем e. Константы и строки лучше выносить в переменные — легче искать и переиспользовать.💡 6. Префикс I в интерфейсах не обязателен
IUser, IProps — отголоски прошлого, по мнению автора. Сейчас IDE и типизация отлично справляются без префиксов.🏷 7. Классы — существительные, методы — глаголы
User, Cart, ProductList — объекты.getUser(), sendMessage() — действия. Так прозрачнее.🧩 8. Не перегружайте смыслами
Слово
add может значить всё что угодно. Лучше appendToCart(), registerUser(), insertItem().🌍 9. Пространство задачи или решения
Термины из предметной области (
checkoutForm) или из IT (binaryTree) — главное, чтобы понятно было в контексте и без эклектики.📦 10. Добавляйте контекст, где нужно
state — это часть адреса, статус или Redux? Лучше address.state, userState или addressState. Или вообще оформить как объект address.А вы как часто сталкиваетесь с плохими переменными или пишете их сами? Признавайтесь 😐
#чистыйкод #робертмартин #js
- ❤ 3
- 👍 3
- 🔥 3
