После того как я поработал в проекте из нескольких десятков миллионов строк на C++, представления
о красоте
програмного кода у меня сильно поменялись. Чисто технически невозможно сделать так, чтобы на таких
масштабах сотни
разработчиков создавали "красивый код" с точки зрения перфекционизма.
Я долго думал над метафорой, которая бы точнее
описывала мое сегодняшнее отношение к данному вопросу, пока нашел только такую.
Красота кода (для меня) - это красота кирпича и бетана. Каждый кирпич
вблизи не идеальный, в нем дырки разных размеров, потертости и сколы. Однако собранные вместе,
они складываются в роскошные здания или кучу у дороги.
Для меня верх индустриальной экономии и организации -
павильоны Икеи. Я только на третий раз заметил, что в шоу руме нет потолка, над декоративной
решеткой много метров пустого технического простанства. На пятое посещение понял,
что стрелочки на полу рисуются
с помощью мощных сфокусированных прожекторов.
Причем сам по себе большой железный ангар не самое красивое решение. Я бы, например, не хотел бы жить
в железном ангаре, ни в маленьком, ни в большом. Но в случае Икеи - это суровый ход,
который очень здорово подходит для их задач.
Сейчас, для меня код любого достаточно большого программного
продукта - это такая же брутальная штука, как железный ангар Икеи,
с большим количеством технических помещений,
вентилей, решеток и прочих не очень красивых с привычной точки зрения вещей.
Поэтому последнее время я редко думаю, как правильно
назвать метод, сколько пробелов поставить или что лучше ООП или ФП. Лучше и правильнее то, что позволяет
создать суровую, индустриальную красоту в каждом конкетном взятом проекте.