Наткнулся на интересный ролик, где человек разбирает подходы чистого кода через производительность. И он на примере плюсов приводит весьма ужасающие числа, мол вы можете потерять проивзодительности где-то в 15 раз (и это если не делать оптимизаций при помощи всяких SIMD-инструкций, а с ними и все х25).
Ролик интересный, ознакомиться рекомендую. Впрочем, с радикальным “давайте вообще эти правила никогда применять не будем, они ужасны” автора я бы тоже не согласился. Что Clean Code, что этот критический ролик страдает одним и тем же – слишком игрушечными примерами. Одно дело, когда вы пишите софт-числодробилку. Тогда да, тогда Clean Code там вообще ни в какие ворота. Другое дело, когда вы пишите какой-нибудь бекенд, где много упора идёт в IO-bound задачи, и там, я думаю, прирост производительности не будет таким ужасающим.
Общий вывод я бы наверное такой сделал. Надо исходить из задачи. Пишите числодробилку, что-то системное, игры или под микроконтроллеры, то нахрен эти ваши клин коды вам не нужны. В противном случае… я бы всё равно задумался об идиомах клин кода, потому что даже без учёта производительности там тоже хватает проблем. В этом плане Боб Мартин тоже тот ещё радикал, я помню в клин архитектуре он писал, что не надо завязываться на особенностях процессора при программировании микроконтроллеров, иначе код не будет переносимым…
Ещё более общий вывод. Не надо полагаться на какую-то одну книжку, как на библию. Надо исходить из своих знаний в computer science, из опыта, из задачи и условий. И уже под это всё подбирать необходимые инструменты, архитектуру и так далее. Универсального молотка не придумали к сожалению(
