Наткнулся на интересный ролик, где человек разбирает подходы чистого кода через производительность. И он на примере плюсов приводит весьма ужасающие числа, мол вы можете потерять проивзодительности где-то в 15 раз (и это если не делать оптимизаций при помощи всяких SIMD-инструкций, а с ними и все х25).

Ролик интересный, ознакомиться рекомендую. Впрочем, с радикальным “давайте вообще эти правила никогда применять не будем, они ужасны” автора я бы тоже не согласился. Что Clean Code, что этот критический ролик страдает одним и тем же – слишком игрушечными примерами. Одно дело, когда вы пишите софт-числодробилку. Тогда да, тогда Clean Code там вообще ни в какие ворота. Другое дело, когда вы пишите какой-нибудь бекенд, где много упора идёт в IO-bound задачи, и там, я думаю, прирост производительности не будет таким ужасающим.

Общий вывод я бы наверное такой сделал. Надо исходить из задачи. Пишите числодробилку, что-то системное, игры или под микроконтроллеры, то нахрен эти ваши клин коды вам не нужны. В противном случае… я бы всё равно задумался об идиомах клин кода, потому что даже без учёта производительности там тоже хватает проблем. В этом плане Боб Мартин тоже тот ещё радикал, я помню в клин архитектуре он писал, что не надо завязываться на особенностях процессора при программировании микроконтроллеров, иначе код не будет переносимым…

Ещё более общий вывод. Не надо полагаться на какую-то одну книжку, как на библию. Надо исходить из своих знаний в computer science, из опыта, из задачи и условий. И уже под это всё подбирать необходимые инструменты, архитектуру и так далее. Универсального молотка не придумали к сожалению(

  • nrydanov
    link
    fedilink
    arrow-up
    2
    ·
    23 days ago

    Ролик не смотрел, но пока читал пост несколько интересных мыслей в голову пришло:

    1. Пример плюсов плохой, потому что не zero-cost abstractions, а знаете где… кхм.
    2. Хочу бенчмарк подходов к программированию на основе переобученных под книги агентов. Ну типа допустим берем модель и жестко обучаем ее на корпусе Clean Code. Я думаю это будет очень весело.
    3. Я все еще жду от Андрея критическую заметку про Боба Мартина. Я ему верю, но хочу проверить)