Обзоры кода — это мощное средство для улучшения качества кода, внедрения лучших практик и распространения знаний. В этом посте я дам краткое руководство о том, как правильно проводить код-ревью.
Перед обзором вы должны следовать этим советам, которые помогут вам провести эффективную экспертную проверку кода.
- Сборка и тестирование. Это обеспечивает стабильность. А выполнение автоматических проверок в первую очередь сократит количество ошибок и сэкономит кодовую строку. Убедитесь, что код делает то, что ожидается.
- Просматривайте менее 400 строк кода за раз.Если вы попытаетесь просмотреть слишком много строк кода одновременно, вероятность обнаружения дефектов снизится.
- Не торопитесь. Проверка кода в разумных количествах, в более медленном темпе в течение ограниченного периода времени, приводит к наиболее эффективной проверке кода.
- Не просматривайте более 60 минут за раз.Никогда не просматривайте более 60 минут за раз. Производительность и внимание к деталям, как правило, падают после этого момента.
- Оставляйте отзывы, которые помогают, а не вредят. Старайтесь быть конструктивными в своих отзывах, а не критическими.
- Используйте контрольные списки. Вполне вероятно, что каждый член вашей команды снова и снова совершает одни и те же 10 ошибок. В частности, упущения труднее всего найти, потому что трудно просмотреть то, чего нет. Контрольные списки являются наиболее эффективным способом устранения часто совершаемых ошибок и решения проблем, связанных с обнаружением упущений. Контрольный список проверки кода также предоставляет членам команды четкие ожидания для каждого типа проверки и может быть полезен для отслеживания в целях отчетности и улучшения процесса.
Дизайн
Самое важное, что нужно осветить в обзоре, — это общий дизайн CL. Имеет ли смысл взаимодействие различных фрагментов кода в CL? Это изменение принадлежит вашей кодовой базе или библиотеке? Хорошо ли он интегрируется с остальной частью вашей системы? Не пора ли добавить эту функцию?
Определяет основные неприятные запахи
Если воняет, меняй. — Бабушка Бек, обсуждая философию воспитания детей.
- Имена. Одна из вещей, которую мы должны четко понимать, это то, что мы пишем код для людей, а не для машин. Как только мы поймем это, мы должны научиться использовать описательные имена. Именование — одна из двух сложных вещей в программировании. Хорошее имя может сэкономить часы озадаченного непонимания в будущем.
- Комментарии. Единственным идеальным комментарием является тот, который вы нашли способ не писать. Есть некоторые исключения (например, регулярные выражения и сложные алгоритмы часто выигрывают от комментариев, которые объясняют, что они делают), но в основном комментарии предназначены для информации, которую сам код не может содержать, например, для обоснования решения.
- Повторяющийся код. Если вы видите одинаковую структуру кода более чем в одном месте, вы можете быть уверены, что ваша программа станет лучше, если вы найдете способ их унифицировать.
- Длинные функции. Чем длиннее функция, тем труднее ее понять.
- Большой класс. Когда класс пытается сделать слишком много, он регулярно показывает слишком много полей.
Тесты
Набор тестов — это мощный детектор ошибок, который обезглавливает время, необходимое для поиска ошибок.
В этой части вы должны убедиться, что тесты охватывают добавленные функции, а также имеют чистые тесты.
Что на самом деле делает чистый тест? Так что, если честно, я не эксперт по внедрению тестов (я уже в пути), но то, что делает тесты чистыми, это то, что удобочитаемость важнее в модульном тесте, чем в рабочем коде. Что делает тест читаемым? То же самое, что делает весь код читабельным; ясность, простота и плотность выражения.
Хорошие вещи
Если вы видите что-то приятное в CL, сообщите об этом разработчику, особенно когда один из ваших замечаний адресован очень сильно. Обзоры кода часто фокусируются только на ошибках, но они также должны предлагать поощрение и оценку хороших практик, а иногда даже более ценно, с точки зрения наставничества, сказать разработчику, что он сделал правильно, чем сказать ему, что он сделал неправильно.
Краткое содержание
- Следуйте советам о том, как сделать хороший код-ревью.
- Код хорошо разработан.
- Любой код пахнет (комментарии понятны и полезны, хорошее нейминг и т.д.).
- Код не сложнее, чем должен быть.
- Тесты хорошо продуманы.
Спасибо за чтение, оставьте комментарий о том, что вы думаете о The Code Reviews. И не забывайте, что если вам понравился этот пост, вы можете оставить более 50 аплодисментов.
👋 Давайте дружить! Подпишитесь на меня в Twitter и свяжитесь со мной в LinkedIn. Не забудьте также подписаться на меня здесь, на Medium.