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

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

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

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

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

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

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

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

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


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

        Общие

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

        Комментарии

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

        Исходный код

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


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