Сила проверки кода

Автор: Магда Пьехота

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

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

Что такое проверка кода?

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

В нашей процедуре проверки кода мы смешиваем автоматическую проверку кода и проверку кода вручную.

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

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

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

Как работает запрос на включение?

Этот процесс выполняется быстро, так как мы не можем позволить себе ждать отзывов. Мы стремимся к максимальному времени проверки 48 часов, поэтому зависший запрос на включение не останавливает процесс разработки. И не только старшие разработчики или руководители команд смотрят PR, это может сделать любой член команды и может добавить свой комментарий. Дискуссия всегда открыта. Это обеспечивает наилучшее решение и качество кода, поскольку иногда даже младшие разработчики могут иметь достаточные знания по конкретной проблеме.

Такой процесс обеспечивает качество кода, открытый процесс разработки и взаимное обучение внутри команды. А правила просты: совместная работа (все члены команды смотрят код), понимание (информация не сохраняется), безопасность (код хранится за пределами основной ветки), ветки (ветки — это хорошо, но как только вы закончите, надо их почистить).

Ловушки код-ревью

Проверка кода не идеальна. Есть несколько ловушек, в которые могут попасть разработчики и производители программного обеспечения при использовании процедуры проверки кода:

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

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