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

Перед обзором вы должны следовать этим советам, которые помогут вам провести эффективную экспертную проверку кода.

  1. Сборка и тестирование. Это обеспечивает стабильность. А выполнение автоматических проверок в первую очередь сократит количество ошибок и сэкономит кодовую строку. Убедитесь, что код делает то, что ожидается.
  2. Просматривайте менее 400 строк кода за раз.Если вы попытаетесь просмотреть слишком много строк кода одновременно, вероятность обнаружения дефектов снизится.
  3. Не торопитесь. Проверка кода в разумных количествах, в более медленном темпе в течение ограниченного периода времени, приводит к наиболее эффективной проверке кода.
  4. Не просматривайте более 60 минут за раз.Никогда не просматривайте более 60 минут за раз. Производительность и внимание к деталям, как правило, падают после этого момента.
  5. Оставляйте отзывы, которые помогают, а не вредят. Старайтесь быть конструктивными в своих отзывах, а не критическими.
  6. Используйте контрольные списки. Вполне вероятно, что каждый член вашей команды снова и снова совершает одни и те же 10 ошибок. В частности, упущения труднее всего найти, потому что трудно просмотреть то, чего нет. Контрольные списки являются наиболее эффективным способом устранения часто совершаемых ошибок и решения проблем, связанных с обнаружением упущений. Контрольный список проверки кода также предоставляет членам команды четкие ожидания для каждого типа проверки и может быть полезен для отслеживания в целях отчетности и улучшения процесса.

Дизайн

Самое важное, что нужно осветить в обзоре, — это общий дизайн CL. Имеет ли смысл взаимодействие различных фрагментов кода в CL? Это изменение принадлежит вашей кодовой базе или библиотеке? Хорошо ли он интегрируется с остальной частью вашей системы? Не пора ли добавить эту функцию?

Определяет основные неприятные запахи

Если воняет, меняй. — Бабушка Бек, обсуждая философию воспитания детей.

  1. Имена. Одна из вещей, которую мы должны четко понимать, это то, что мы пишем код для людей, а не для машин. Как только мы поймем это, мы должны научиться использовать описательные имена. Именование — одна из двух сложных вещей в программировании. Хорошее имя может сэкономить часы озадаченного непонимания в будущем.
  2. Комментарии. Единственным идеальным комментарием является тот, который вы нашли способ не писать. Есть некоторые исключения (например, регулярные выражения и сложные алгоритмы часто выигрывают от комментариев, которые объясняют, что они делают), но в основном комментарии предназначены для информации, которую сам код не может содержать, например, для обоснования решения.
  3. Повторяющийся код. Если вы видите одинаковую структуру кода более чем в одном месте, вы можете быть уверены, что ваша программа станет лучше, если вы найдете способ их унифицировать.
  4. Длинные функции. Чем длиннее функция, тем труднее ее понять.
  5. Большой класс. Когда класс пытается сделать слишком много, он регулярно показывает слишком много полей.

Тесты

Набор тестов — это мощный детектор ошибок, который обезглавливает время, необходимое для поиска ошибок.

В этой части вы должны убедиться, что тесты охватывают добавленные функции, а также имеют чистые тесты.

Что на самом деле делает чистый тест? Так что, если честно, я не эксперт по внедрению тестов (я уже в пути), но то, что делает тесты чистыми, это то, что удобочитаемость важнее в модульном тесте, чем в рабочем коде. Что делает тест читаемым? То же самое, что делает весь код читабельным; ясность, простота и плотность выражения.

Хорошие вещи

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

Краткое содержание

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

Спасибо за чтение, оставьте комментарий о том, что вы думаете о The Code Reviews. И не забывайте, что если вам понравился этот пост, вы можете оставить более 50 аплодисментов.

👋 Давайте дружить! Подпишитесь на меня в Twitter и свяжитесь со мной в LinkedIn. Не забудьте также подписаться на меня здесь, на Medium.