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

КДПВ

Практически сразу же, во вступлении автор объясняет свои мотивы, причину по которой она написала эту книгу и это подтвердило моё предположение, что книга понравится. Автор написала то, что она хотела написать некое единое пособие по код-ревью, а я как раз что-то такое хотел прочитать. И уже после прочтения могут сказать, что у неё получилось неплохо.

Правда, в процессе прочтения книга начала больше восприниматься, как руководство. То есть, такая книга, которую надо не один раз прочитать, а в которую надо подглядывать в процессе. Из похожих, кстати, приходит на ум “Грокаем continuous delivery”.

Вообще, мне вспоминается рассказ о том, как писался сценарий для фильма “Крестный отец”, когда количество пометок на полях показывало значимость сцены для фильма. Чем больше пометок, тем важнее была сцена. По этой аналогии можно оценивать книги, наверное, чем больше в книге заметок - тем выше её практическая ценность. И эта книга просто пестрит заметками. При этом вспоминаю, что у меня было очень много заметок в книгах из серии “Грокаем”, которые были посвящены машинному обучению. Там это было связано с сложностью материала для меня, с его новизной, было интересно разобраться со всеми этим терминами и идеями, а тут больше с практической частью, с каким-то новым инструментам, исследованиям и прочими материалами, которые можно взять на вооружение и затащить в проект.

К слову о материалах, уже в самом начале встретил отсылки к двум книгам в контексте повышения качества кода: “Совершенный код. Мастер-класс”, Steve McConnell и “Пять строк кода”, Клаусен. Обе книги у меня есть и Макконела я уже несколько раз читал, а вот “Пять строк…” - еще нет. Надо будет взять в очередь. В главе о парном программировании встретил отсылку к уже знакомой книге “Экстремальное программирование. Разработка через тестирование”, надо будет освежить её. Да и в целом, в книге очень много ссылок на разные материалы, начина от книг и до научных статей и прочих исследований.

Например, в книге автор предлагает остановиться на работе через merge-request (или пул-реквесты в терминах GitHub). И пока она описывала то, как можно удобно оформлять эти самые мердж-реквесты, встретил ссылку на “Соглашение о коммитах”, а при проведении ревью пользоваться “Соглашение о комментариях”, что тоже узнал из этой книги.

А при чтении главы о эффективных комментариях автор рассказывает о том, что проводились исследования, которые изучали проблемы межличностных конфликтов в пул-реквестах, в котором искали закономерности в комментариях, которые отмечены, как “токсичные” и “нетоксичные”. Выяснилось, что слово «вы» встречается в первых чаще, чем во вторых. Кроме того, сравнение токсичных и нетоксичных комментариев, в которых есть это местоимение, дало интересный результат: в токсичных оно чаще всего стоит на первом месте и не появляется в других местах предложения. С другой стороны, слова, характерные для технических дискуссий («тест», «файл», «пул-реквест» и т. п.), почти не встречаются в токсичных комментариях, хотя широко используются в нетоксичных. В процесс чтения вспомнились книги “Искусство спора” за авторством С. Поварни, и может быть"Искусство побеждать в спорах" А. Шопенгауэера… В любом случае, прочитать их не помешает, не такие уж они и большие :)

В общем, автор подошел к подготовке материала основательно, что не может не радовать. Особенно это заметно после прочтения “Грокаем проектирования реляционных баз данных”, которая на фоне этой работы выглядит гораздо слабее.

Как уже говорил - эта книга поможет тем, кто хотел бы внедрить ревью в рабочий процесс или улучшить его, если ревью уже используется. Причем часть материала будет оставаться актуальной еще долгое время. Та часть, которая не касается конкретных решений, так как они приходят и уходят, а люди остаются людьми. Хотя, может что-то их перечисленных приложений выстрелит и станет чем-то вроде второго jUnit и навсегда поселится в пайплайны, кто знает. Но если кратко пересказать, то книга начинается от мотивации, для чего вообще необходимо код-ревью, как организовать его процесс, какие могут быть сложности на всём пути и как их решать. Включая и то, как бороться с токсичностью, например, или обходными путями, вроде “срочных релизов”.

В книге встретил несколько новых терминов, вроде runbook, например, или nitpicks. И хотел отдельно написать о таком термин, как моб-программирование. Судя по описанию, речь идет о каком-то варианте метода мозгового штурма. И это уже совершенно отдельная тема, которая непосредственно к ревью вроде как и не относится и не понятно, почему автор вообще о неё написала, видимо как описание части рабочего процесса и попытки вписать в него ревью? Энивей, даже она была освещена. При этом читая главу о автоматизации уже примерял, что можно прикрутить к своему пет-проекту. Например, шаблоны мердж-реквестов, пометки CODEOWNER и те самые метки при оформлении реквестов выглядят, как простые и приятные улучшения на перспективу.

О самой последней главе, о AI-инструментах, стоит сразу начать с резюме:

Стоит ли задуматься о внедрении этих инструментов? Безусловно. Благодаря им работа ревьюера может стать исключительно эффективной: мы можем использовать их для самоконтроля (а вдруг что-то упущено?) или для предварительной проверки, благодаря которой мы экономим время. Однако нельзя забывать, что окончательное решение должен принимать человек: необходимо проверить работу ИИ, его решения и предложения и убедиться в том, что он не ошибся. И только после этого направлять замечания автору.

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

Что касается качества самого издания, то мне оно так же понравилось как и все последние издания Питера. Да, мягкая обложка, но она уже давно не облезает, не расползается и в целом сделана очень добротно. Бумага хорошего качества, приятная полиграфия и в ощущения в целом. Тут тоже всё хорошо.


Автор(ы):

  • Adrienne Braganza

Год издания: 2026
Количество страниц: 368
Оценка: 5/5

Издатель: Питер
Ссылка на страницу книги на сайте издательства: https://www.piter.com/product/po-moemu-neploho-konstruktivnye-kod-revyu

Оригинальное название: “Looks Good To Me”: Constructive code reviews
Год издания оригинала: 2025