Насколько полезен обзор кода сверху вниз?

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

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

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

У кого-нибудь есть опыт?

Ответ 1

Я имею тенденцию идти с обзорами кода на основе сверстников, где каждый может смотреть код вместе на проекторе один раз в неделю и комментировать, задавать вопросы, вносить предложения.

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

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

Ответ 2

Я думаю, что многое зависит от команды разработчиков и качества "новых" членов команды. Я бы сказал, что по моему опыту был инструктором в колледже и работал со многими выпускниками. Не многие из этих "новых выпускников" действительно будут в курсе "лучших практик". Тем не менее, есть странный случай, когда вы собираетесь найти парня, который действительно идет выше и выше.

Однако, помимо этого, обзор кода сверху вниз, как вы упомянули, - это БОЛЬШАЯ возможность обучения для нового разработчика и может быть хорошей возможностью обучения/обучения для разработчика высокого уровня.

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

Ответ 3

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

  • Друг обеспечивает конструктивную критику, обратную связь и становится еще одним ресурсом для понимания того, что вы делаете, и как его поддерживать в будущем.

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

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

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