Обзоры кода, чтобы стать лучшим разработчиком
По моему опыту, участие в проверке кода — самый эффективный способ повысить свой уровень как разработчика. Если вы являетесь автором проверенных изменений, вы можете получить прямую обратную связь от своих коллег. И если вы один из рецензентов, вы можете узнать о различных подходах к решению реализаций, о которых вы, возможно, и не подумали.
Но правильно давать, а также понимать код-ревью — это навык, которому нужно учиться. В этой статье я просто перечислю некоторые аспекты, которые я учитываю при даче и получении обзоров кода. С моей точки зрения, они оказались правильным выбором для совместной и доброжелательной среды разработки.
Что я определяю как хороший код
Помните, что нет ничего более постоянного, чем временный обходной путь.
При написании и проверке кода я руководствуюсь следующими ключевыми показателями.
- код ремонтопригоден, например. никаких хаков или обходных путей, однако хорошо задокументированных
- код легко читается, поэтому рассуждать о нем намного проще
- код можно тестировать, что еще больше улучшает предыдущие два пункта
Как провести код-ревью
Быть скромным
Ошибиться не проблема. Настаивать на том, что вы правы, даже если вы объективно не правы, — проблема. Всегда имейте в виду, что вы можете что-то упустить или просто неправильно понять код. Будьте открыты для противодействия и будьте скромны для возможности узнать что-то новое.
Обзоры кода не являются личными
Помните: код на первом месте. Вы можете просмотреть чей-то код в напряженной ситуации, когда вы оба не в настроении разговаривать друг с другом или вообще не согласны с тем, как все работает.
Код-ревью — это не место, где можно выпустить пар или расплатиться за разочарование. Единственная цель обзоров — объективно улучшить качество кода. Код, который вы проверяете и который будет объединен, является следующим устаревшим кодом, поэтому важно оставить в стороне личные вещи и предоставить объективный обзор, независимо от того, кто является рецензентом.
Мнения — это не отзывы
Ключевое различие между хорошим обзором и просто комментарием заключается в том, что в обзорах не учитываются мнения. Например, неважно, как выглядит стиль кода, главное, чтобы его можно было поддерживать, легко читать и тестировать. Если вы не уверены, что ваш отзыв будет субъективным, просто добавьте примечание, чтобы вы могли обсудить этот вопрос со своим коллегой.
Хорошие отзывы ведут к хорошим обсуждениям
Оспаривание проверки может привести к отличному обмену знаниями между разработчиками. Данный отзыв следует рассматривать не как окончательный комментарий, а как отправную точку для обсуждения, чтобы получить полную картину. Вы оба можете что-то упустить, и обсуждение критики может только улучшить ваше понимание.
Сроки не имеют значения
Не всегда легко обеспечить соблюдение требований, но пропуск ревью кода потенциально может создать большой технический долг, который никто не захочет исправлять. Важно поддерживать необходимую дисциплину, чтобы проводить тщательные обзоры кода, даже если вы слышите тиканье часов. Возможно, вы станете следующим разработчиком, который будет работать над этим беспорядком!
Используйте ссылки для ссылок
Сравнение проверенного кода с существующим происходит довольно часто. Поэтому важно правильно включать ссылки через ссылки. Упоминание только приблизительного места, где находится код, на который делается ссылка, не поможет.
Используйте функцию управления версиями, чтобы выделить код в существующей ветке, и используйте созданные URL-адреса в своем обзоре для справки. То же самое относится и к внешней документации, например, на MDN.
Как читать обзор кода
Все вышеперечисленное
Чтение обзоров кода вашего кода сделает вас лучшим разработчиком, если вы будете следовать всем вышеупомянутым пунктам. Будьте скромны, не принимайте критику на свой счет и стремитесь понять, на что указывает обзор, чтобы лучше понять общую картину.
Личное мнение о том, как быть объективным
Эта статья отражает мой личный подход к обзору кода. Изложенные пункты — лишь кульминация моего опыта разработчика в больших и малых командах, как локальных, так и международных. Они доказали свою эффективность, привели к улучшению кода и дали мне возможность напрямую учиться у других.