Задача: Проверка кода
В этой задаче рассмотрен процесс проверки исходного кода реализации.
Взаимосвязи
РолиОсновной: Дополнительно: Помощь:
ВходыОбязательный: Необязательный: Внешний:
  • Нет
Выходы
Шаги
Общие рекомендации
Цель Общие рекомендации по выполнению проверок.

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

Основные преимущества проверки реализации:

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

Для проверки реализации существует несколько методик. Выберите одну из следующих:

  • Осмотр. Формальная методика подробной проверки реализации. Осмотр считается одной из наиболее эффективных методик проверки, однако он требует дополнительного обучения и подготовки.
  • Обзор. Методика оценки, в ходе которой автор показывает реализацию проверяющим. Проверяющие задают вопросы и делают замечания относительно методики, стиля, возможных ошибок, отклонений от установленных стандартов оформления исходного кода и т.д.
  • Чтение кода. Код читается одним или двумя участниками проекта. Впоследствии они могут встретиться на совещании для обсуждения полученных результатов. Вместо личной встречи проверяющие могут передать комментарии и вопросы автору в письменной форме. Данный подход рекомендуется применять для проверки незначительных изменений, а также в качестве проверки готовности к работе.

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

См. также Методика: Проверки.

Выбор контрольных точек реализации
Цель Создание справочной таблицы для проверки реализации.  


В этом разделе справочная таблица проверки реализации рассмотрена на основе примеров основных этапов проверки. За подробной информацией о качестве исходного кода обратитесь к рекомендациям по программированию.

Общие

  • Соответствует ли исходный код рекомендациям по программированию?
  • Содержит ли исходный код комментарии с пояснениями? Возможно ли понять назначение исходного кода, прочитав его?
  • Исправлены ли все ошибки, обнаруженные в ходе проверки правил оформления кода и/или с помощью динамических инструментов обнаружения ошибок?

Комментарии

  • Не устарели ли комментарии?
  • Насколько четко и правильно сформулированы комментарии?
  • Легко ли изменить комментарии в случае изменения кода?
  • Объясняют ли комментарии преимущественно причины, а не способы?
  • Указаны ли комментарии для всех непредвиденных ситуаций, исключительных случаев и ошибок?
  • Описано ли назначение каждой операции?
  • Приведена ли дополнительная важная информация о каждой операции?

Исходный код

  • Указано ли для каждой операции имя, описывающее ее действия?
  • Указаны ли для параметров понятные имена?
  • Существует ли четкое разделение между обычным путем выполнения операции и исключительными путями?
  • Возможно ли ее упростить операцию путем преобразования связанных операторов в отдельные операции?
  • Возможно ли ее упростить операцию путем уменьшения числа точек принятия решений? Точка принятия решения - это оператор, после которого исходный код разветвляется. Например, операторы if, else, and, while и case.
  • Число вложенных циклов сведено к минимуму?
  • Удачно ли подобраны имена переменных?
  • Насколько понятен исходный код и избегаются ли в нем "сложные" решения?
Подготовка протокола проверки и описание дефектов
Цель Создание протокола результатов проверки.
Описание обнаруженных дефектов.  


По завершении каждого собрания полученные результаты следует сохранить в формате протокола проверки. Кроме того, дефекты следует указать в запросах изменений (и передать на обработку ответственному сотруднику).



Свойства
Несколько вхождений
Управляется событиями
Выполняющийся
Необязательный
Запланированный
Повторяющийся