Интересная статья мне тут попалась. По сути она как бы косвенно обсирает язык Go :). Хотя код Go обычно абсолютно прост и понятен, но для беглого просмотра он не оч
Вот краткая выжимка:
Основная идея: Код чаще просматривают бегло, чем читают внимательно. Поэтому важно писать код, который можно понять с первого взгляда по его "форме" и структуре.
Ключевые принципы:
1. Форма кода имеет значение
Структура кода должна сразу показывать, что он делает
Связанный код должен выглядеть связанным, несвязанный — несвязанным
2. Избегать избыточной многословности
Слишком длинные имена переменных затрудняют понимание структуры
Пример: a * (x * x) + b * x + c читается лучше, чем a.multiply(x.pow(2)).plus(b.multiply(x.plus(c)))
3. Использовать контекст
В узкой области можно использовать короткие имена (get в HTTP-модуле)
В широком контексте нужны более описательные имена (Stripe.get)
4. Выделять "сантехнику" от логики
"Сантехника" — вспомогательный код (преобразования типов, обработка ошибок)
Логика — основная суть программы
Операторы и макросы помогают сделать "сантехнику" менее заметной
5. Минимизировать лишнюю информацию
Убирать ненужный boilerplate-код
Оставлять только существенную информацию для понимания
Аналогия с математикой: Математическая нотация — отличный пример читаемости "с первого взгляда". Интеграл ∫₀³(7x² + 3x + 7)dx понятен сразу, а его словесное описание требует полного прочтения.
Вывод: Хороший код должен быть "легким" для восприятия — его структура и назначение должны быть очевидны даже при беглом просмотре.
Post #504
3.27K
- 👍 22
- 👎 4