Код-ревью – это хорошо. Оно помогает улучшить качество кода, наладить сотрудничество в команде, познакомить каждого разработчика с самыми отдаленными уголками кодовой базы, до которых он бы не скоро добрался, делая только назначенные ему задачи. Из всего того, чем обычно занимаются программисты, именно в код-ревью лучше всего видна справедливость поговорки «Одна голова – хорошо, а две – лучше». 

А как быть программисту, работающему в одиночку? Ведь голова у него – всего одна, если конечно он не мутант. И именно этой головой разработчик пишет код, который потом неплохо бы поревьювить. Как отревьювить свой же код, если ты сам его автор, и просто физически не можешь взглянуть на него глазами другого человека? Казалось бы, в таком случае выполнить код-ревью невозможно, это – неразрешимая проблема, тупик!

Но выход есть! Благодаря научным исследованиям, мы знаем, что у нас есть два относительно независимых полушария головного мозга, каждое из которых смотрит на мир своим собственным, отдельным глазом: правый глаз подключён к левому полушарию, а левый — к правому.

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

… применить простой советский бинт. Или что-нибудь еще, чем можно закрыть один глаз – пока второй, вместе с «подключенным» к нему мозговым полушарием – анализирует код.

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

Конечно же, анализировать свой код нужно не сразу после написания, а сделав перерыв, абстрагировавшись от кода, отдохнув от программирования, развеявшись и войдя в другое настроение. Можно ещё больше поспособствовать отвлечению, например, занявшись спортом, посмотрев фильм или сериал, почитав книгу — что еще лучше поможет взглянуть на свой код глазами другого субъекта.

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

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

Конечно же писать комментарии стоит максимально вежливо и корректно, ведь вы же не хотите поссориться с самим собой! И не переусердствуйте с раздвоением личности и с изменением сознания, дабы у психиатров не появилось еще больше поводов для шуток по поводу сумасшедших айтишников.

Комментарии (17)


  1. rsashka
    00.00.0000 00:00
    +6

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


  1. johnfound
    00.00.0000 00:00
    +9

    Ну-у-у-у, шутки шутками, но в этом что-то есть. Я проверю на практике. Ведь автор думал что первоапрельскую придумал, а на самом деле прорыв!


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

    А это уже будет парное программирование, да? Гениально!


    1. Krasnoarmeec
      00.00.0000 00:00

      Однозначно прорыв!

      С праздником! (Какое время, такие и праздники.)


  1. gatoazul
    00.00.0000 00:00
    +14

    А если серьезно, отложите код на пару недель, а лучше на месяц. После этого можно смело устраивать ревью и вопрошать, какой идиот это писал.


    1. thegriglat
      00.00.0000 00:00
      +5

      Если отложить код на пару недель или месяц для ревью, то после этого можно смело искать новую работу :-)


      1. funca
        00.00.0000 00:00
        +14

        Смотрите в следующей серии: Как пройти собеседование, если ты совсем один.


      1. doctorw
        00.00.0000 00:00
        +3

        Я думаю, тут речь про пет-проекты скорее, когда отложить можно, а на работе кого-то для ревью всё-таки можно найти. :)


      1. Osnovjansky
        00.00.0000 00:00
        +1

        Можно делать плановые ревью рефакторинг через заметное время после написания. К тому же, к этому времени код и требования к нему "устаканятся"


  1. markoni
    00.00.0000 00:00
    +9

    Далее, неплохо бы обсудить недочеты кода. Тут главное - не привлекать внимания санитаров.


  1. asked2return
    00.00.0000 00:00
    +3

    у каждого должен быть воображаемый друг ... What Would Jesus Do?


  1. AmirKamolov
    00.00.0000 00:00
    +8

    С биполярностью одна личность пишет код, вторая личность ревьювит его :)


  1. bazilio2010
    00.00.0000 00:00
    +3

    Как быть таким, как я у которых код видит только один глаз...


    1. funca
      00.00.0000 00:00
      +6

      Code smells определяйте по запаху.


    1. johnfound
      00.00.0000 00:00
      +4

      Можно смотреть на код в зеркало. Тогда мозг сам отправит его к другому полушарию на дешифровку. В начале будет немножко не комфортно читать отзеркаленный сорс, но привыкнете быстро.


      1. mentin
        00.00.0000 00:00
        +1

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


    1. IvanPetrof
      00.00.0000 00:00
      +3

      Прослушивайте его..


  1. belch84
    00.00.0000 00:00
    +2

    Совсем не разбираюсь в вопросе, но краем уха услышал мнение опытного специалиста по разработке ПО, он полагает, что для парного программирования в одиночку можно использовать chatGPT, и что именно в этом качестве он (оно?) наиболее полезен