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

Если вы не знаете, проверка кода (или проверка) - это систематический процесс, который разработчики используют для проверки кода друг друга на наличие ошибок или неэффективности.

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

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

Если вы думаете, что можете просто автоматизировать процесс проверки кода с помощью программного обеспечения, имейте в виду: Том Глеб и его коллеги показали, что формальная экспертная оценка - наиболее эффективный способ найти и исправить сложные проблемы с кодированием. Формальные проверки кода даже превосходят тестирование программного обеспечения с точки зрения эффективности устранения дефектов: тестирование эффективно только на 30%, в то время как формальные проверки кода в среднем эффективны на 65%.

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

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

Почему наиболее распространенные методы экспертной проверки кода неэффективны

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

В большинстве случаев достаточно облегчить процесс проверки. Давайте рассмотрим четыре наиболее распространенных метода.

Цепочка электронной почты 😬

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

Парное программирование 👩‍💻👨‍💻

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

Через плечо 👀

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

С помощью инструментов 🔎

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

4 способа сделать экспертную проверку кода более эффективной и действенной

1. Краудсорсинговые обзоры от 10 или более рецензентов

Краудсорсинг ускоряет обычно медленный и ресурсоемкий процесс экспертной оценки за счет одновременного использования нескольких программных умов. Преимущества очевидны:

  • Больше внимания к вашему коду увеличивает вероятность того, что все ошибки будут обнаружены. Это не обязательно должно быть 10, но мы обнаружили, что наличие 10 или более рецензентов значительно увеличивает вероятность обнаружения ошибок.
  • Краудсорсинг позволяет вам тратить свое (или вашу компанию) время и ресурсы на написание нового кода, тем самым делая процесс программирования более эффективным.

2. Получите отзывы от проверенных экспертов

Обратная связь бесполезна, если вы не доверяете ее источнику. Но как узнать, справится ли ваш рецензент с поставленной задачей? Это серьезный недостаток большинства веб-сайтов с обзорами.

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

3. Используйте анонимных рецензентов

Защита личности рецензентов повышает качество получаемых вами отзывов. Почему? Все просто: если рецензент анонимен, ему не будет неловко дать вам честный отзыв.

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

Реальность такова, что коллегиальные обзоры иногда могут навредить личным и профессиональным отношениям. Но анонимные обзоры не могут, поэтому анонимному рецензенту намного проще быть объективным.

4. Группируйте и анализируйте отзывы

Разрозненную обратную связь использовать сложно. Это может даже потянуть вас в разные стороны, если два или более рецензентов имеют совершенно разные представления о правильном способе решения проблемы кодирования.

Поэтому, прежде чем начинать вносить изменения в свой код, прочтите свои обзоры и определите общие тенденции. Если вы обнаружите противоречивые отзывы, рекомендуется обратиться к рецензентам за разъяснениями.

Заключение

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

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

Ищете новый способ проверить свой код?

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

Питон | C # | Ява | PHP | JavaScript | Рубин

Если вам нравится Александр, Лиам или Кишор, и вы хотите присоединиться к нашему сообществу опытных разработчиков, то это для вас (нажмите стать нашим валидатором 😁)!