Код-ревью – это хорошо. Оно помогает улучшить качество кода, наладить сотрудничество в команде, познакомить каждого разработчика с самыми отдаленными уголками кодовой базы, до которых он бы не скоро добрался, делая только назначенные ему задачи. Из всего того, чем обычно занимаются программисты, именно в код-ревью лучше всего видна справедливость поговорки «Одна голова – хорошо, а две – лучше».
А как быть программисту, работающему в одиночку? Ведь голова у него – всего одна, если конечно он не мутант. И именно этой головой разработчик пишет код, который потом неплохо бы поревьювить. Как отревьювить свой же код, если ты сам его автор, и просто физически не можешь взглянуть на него глазами другого человека? Казалось бы, в таком случае выполнить код-ревью невозможно, это – неразрешимая проблема, тупик!
Но выход есть! Благодаря научным исследованиям, мы знаем, что у нас есть два относительно независимых полушария головного мозга, каждое из которых смотрит на мир своим собственным, отдельным глазом: правый глаз подключён к левому полушарию, а левый — к правому.
Воспользуемся же этим подарком природы для код-ревью! Так как при написании программ мы включаем свой головной мозг в целом, оба его полушария работают в связке, и представляют собой принципиально иную систему, нежели каждая половинка мозга в отдельности. Таким образом, если суметь увидеть свой код с точки зрения только одного из полушарий, это будет пусть грубый, но аналог независимого анализа кода другим разработчиком. И для этого достаточно применить простой советский …
… применить простой советский бинт. Или что-нибудь еще, чем можно закрыть один глаз – пока второй, вместе с «подключенным» к нему мозговым полушарием – анализирует код.
Дальше – больше! Как известно, половины мозга имеют специализацию: левое полушарие отвечает за логику, правое – за творчество, интуицию, и эстетическое восприятие. Следовательно, код-ревью правым глазом задействует левое полушарие, и должно лучше помогать в поиске несоответствий в логике кода. А ревью левым глазом позволит выявить эстетические недочёты кода – такие, как согласованность стиля и элегантность архитектурных решений.
Конечно же, анализировать свой код нужно не сразу после написания, а сделав перерыв, абстрагировавшись от кода, отдохнув от программирования, развеявшись и войдя в другое настроение. Можно ещё больше поспособствовать отвлечению, например, занявшись спортом, посмотрев фильм или сериал, почитав книгу — что еще лучше поможет взглянуть на свой код глазами другого субъекта.
После перерыва и предпринятых мер изменения сознания, можно приступать к код-ревью. Делать это лучше раундами: сначала код-ревью проводится одним глазом, затем – другим. Как и при обычном ревью, найденные проблемы нужно сразу же записать в виде комментариев к коду.
После проведения ревью необходимо снова выдержать паузу, и начинать править найденные в коде недочеты – теперь уже, что называется, глядя в оба. Если в среди замечаний к коду есть спорные и дискуссионные, то, естественно, отвечаем на них: при следующем раунде код-ревью писавшие их полушария мозга увидят ответы на свои замечания, и, возможно даже, что-то возразят. После нескольких таких раундов обычно вопросов к коду не остается, и код-ревью можно считать завершенным.
Конечно же писать комментарии стоит максимально вежливо и корректно, ведь вы же не хотите поссориться с самим собой! И не переусердствуйте с раздвоением личности и с изменением сознания, дабы у психиатров не появилось еще больше поводов для шуток по поводу сумасшедших айтишников.
Комментарии (17)
johnfound
00.00.0000 00:00+9Ну-у-у-у, шутки шутками, но в этом что-то есть. Я проверю на практике. Ведь автор думал что первоапрельскую придумал, а на самом деле прорыв!
После проведения ревью необходимо снова выдержать паузу, и начинать править найденные в коде недочеты – теперь уже, что называется, глядя в оба.
А это уже будет парное программирование, да? Гениально!
gatoazul
00.00.0000 00:00+14А если серьезно, отложите код на пару недель, а лучше на месяц. После этого можно смело устраивать ревью и вопрошать, какой идиот это писал.
thegriglat
00.00.0000 00:00+5Если отложить код на пару недель или месяц для ревью, то после этого можно смело искать новую работу :-)
doctorw
00.00.0000 00:00+3Я думаю, тут речь про пет-проекты скорее, когда отложить можно, а на работе кого-то для ревью всё-таки можно найти. :)
Osnovjansky
00.00.0000 00:00+1Можно делать
плановые ревьюрефакторинг через заметное время после написания. К тому же, к этому времени код и требования к нему "устаканятся"
markoni
00.00.0000 00:00+9Далее, неплохо бы обсудить недочеты кода. Тут главное - не привлекать внимания санитаров.
AmirKamolov
00.00.0000 00:00+8С биполярностью одна личность пишет код, вторая личность ревьювит его :)
bazilio2010
00.00.0000 00:00+3Как быть таким, как я у которых код видит только один глаз...
johnfound
00.00.0000 00:00+4Можно смотреть на код в зеркало. Тогда мозг сам отправит его к другому полушарию на дешифровку. В начале будет немножко не комфортно читать отзеркаленный сорс, но привыкнете быстро.
mentin
00.00.0000 00:00+1Можно повернуть монитор на бок. При этом дополнительная польза - читая повернутый код по горизонтали, читаешь сразу много строк, то есть удается больше уделять внимания общей архитектуре, вместо фокусировки на отдельных операторах.
belch84
00.00.0000 00:00+2Совсем не разбираюсь в вопросе, но краем уха услышал мнение опытного специалиста по разработке ПО, он полагает, что для парного программирования в одиночку можно использовать chatGPT, и что именно в этом качестве он (оно?) наиболее полезен
rsashka
Прикольно :-)
Но в каждой шутке есть доля шутки и ревью при одном разработчике тоже приходится делать.
Например, для архитектурного ревью можно поступить вот так