Архитектор Кристофер Александр —
отец паттернов и языка паттернов — рассматривает каждый акт проектирования
как маленький, локальный акт восстановления. С его точки зрения мастерство
тонкой структуры является единственным содержанием архитектуры; более
крупные формы можно оставить на долю паттернов, а их применение — на долю
жильцов. Проектирование продолжается не только с пристройкой к дому новых
комнат, но и с покраской, заменой старых ковров или кухонной раковины. Ана-
логичные принципы действуют во многих видах искусства. В поисках других
мастеров, считавших, что Бог живет в мелочах, мы оказываемся в славной ком-
пании французского писателя XIX века Гюстава Флобера. Французский поэт
Поль Валери говорит о том, что стихотворение никогда не бывает законченным,
что оно требует постоянной переработки, а прекратить работу над ним — значит
бросить его. Такое повышенное внимание к мелочам характерно для всех настоя-
щих творцов. Возможно, принципиального нового здесь не так уж много, но эта
книга напомнит вам о необходимости следовать житейским правилам, которые
вы давно забросили из безразличия или стремления к стихийности, к простой
«реакции на изменения».
К сожалению, описанные аспекты редко рассматриваются как краеугольные
камни искусства программирования. Мы рано бросаем свой код — и не потому,
что он идеален, а потому, что наша система ценностей сосредоточена на внеш-
нем виде, а не на внутренней сущности того, что мы делаем. Невнимательность
в конечном итоге обходится недешево: фальшивая монета всегда возвращается
к своему владельцу. Исследования — ни отраслевые, ни академические — не же-
лают опускаться до скромной области поддержания чистоты кода. В те времена,
когда я работал в Исследовательской организации по производству программного
обеспечения Bell Labs, в ходе исследований выяснилось, что последовательный
стиль применения отступов является одним из самых статистически значимых
признаков низкой плотности ошибок. Мы хотим, чтобы причиной качества была
архитектура, язык программирования или что-то другое, столь же почтенное.
Нас как людей, чей предполагаемый профессионализм обусловлен мастерским
владением инструментами и методами проектирования, оскорбляет сама идея,
что простое последовательное применение отступов может иметь такую ценность.
Цитируя свою собственную книгу 17-летней давности, скажу, что такой стиль
отличает совершенство от простой компетентности. Японское мировоззрение
сознает критическую важность каждого рядового рабочего, и что еще важнее —
систем разработки, существующих благодаря простым повседневным действиям
этих рабочих. Качество возникает в результате миллиона проявлений небезраз-
личного отношения к делу, — а не от применения какого-то великого метода,
спустившегося с небес.
Роберт Мартин "Чистый код: создание, анализ и рефакторинг"