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

Из своего прошлого опыта я узнал о проверке кода в Java и составил свой собственный базовый контрольный список для повседневного использования. В основном я не упоминаю об этом, так как помню, однако это было очень полезно для членов моей команды.

Я также писал о том, как создать свой контрольный список для проверки программирования здесь.

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

Шаг 0: Используйте правильные инструменты

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

Мое любимое место для просмотра кода (пока) — Github. Он имеет все необходимые функции для совместной беседы. Однако теперь, после недавнего приобретения Microsoft, я просто надеюсь, что это выживет.

Если у вас нет Github или модели Pull Request для разработки, вы можете попробовать некоторые инструменты проверки кода, которые можно интегрировать с любой другой системой контроля версий.

Шаг 1. Настройте рекомендации по фиксации кода

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

  1. Код компилируется.
  2. Код документирован хорошо.
  3. В коде есть модульные тесты.

Шаг 2: Автоматизируйте простые повторяющиеся задачи

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

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

Я уверен, что в каждом языке есть похожие инструменты, которые могут выполнять статический анализ и обнаруживать общие проблемы.

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

Шаг 3. Проверка вручную

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

  1. Какое ключевое требование?
  2. Используются ли какие-либо библиотеки? Какие и почему?
  3. Есть ли алгоритмы? Изобретать заново или использовать повторно?
  4. Можно ли упростить код? Возможности рефакторинга.
  5. Каково качество модульных тестов? Просто иметь утверждения недостаточно.

Больше идей?

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