«Code review как средство обеспечения качества программногообеспечения»

Содержание

Слайд 2

Code review.Что же это такое??

Инспекция кода или рецензия кода или ревизия кода

Code review.Что же это такое?? Инспекция кода или рецензия кода или ревизия
(от англ.Code review) — систематическая проверка исходного кода программы с целью обнаружения и исправления ошибок, которые остались незамеченными в начальной фазе разработки.

Найденные на ранних этапах разработки ошибки «ценнее», чем ошибки, найденные при формальном тестировании!

Слайд 3

«Зачем?!»

Цели внедрения процесса:
унифицировать код;
обучить новичков;
ускорить тестирование;
найди и уничтожить ошибки там,

«Зачем?!» Цели внедрения процесса: унифицировать код; обучить новичков; ускорить тестирование; найди и
где они живут;
разъяснение кода гарантирует его понимание;
уменьшить риск выбиться из графика, потому что качество продукта растет с каждой завершенной фазой проекта;
выявить синтаксические ошибки, которые компиляторы не могут отследить;

Слайд 4

Что такое «хорошо» и что такое «плохо»?

Для качественного построения процесса тестирования, правила

Что такое «хорошо» и что такое «плохо»? Для качественного построения процесса тестирования,
рецензирования кода следует унифицировать!
Code Review Checklist
Очень индивидуален для каждого проекта, НО! Выделим базовые контрольные точки:
Поиск уязвимостей
Поиск синтаксических ошибок
Поиск утечки ресурсов
Контроль структуры
Комментарии

Слайд 5

Кому доверить процесс?

Каждый проект по-своему подходит к ревизиям: используются различные инструменты, различные

Кому доверить процесс? Каждый проект по-своему подходит к ревизиям: используются различные инструменты,
процедуры, в приоритет ставятся различные цели.
Возможные схемы процесса:
1. По времени
До check-in – a
После сheck-in –а
2. По ответственному за процесс:
Ответственный ведущий разработчик
Распределенная схема рецензирования между разработчиками
Ответственный ведущий тестировщик

Слайд 6

1. Ведущий разработчик ревьюит
Преимущества:
Единообразие кода
Одинаковые требования
Гуру делится опытом
Недостатки:
Упущенные возможности
Только выборочная

1. Ведущий разработчик ревьюит Преимущества: Единообразие кода Одинаковые требования Гуру делится опытом
проверка
Скорее всего off-line проверка
Более важные задачи в приоритете, на ревью зачастую не хватает времени

Слайд 7

2. Друг за другом

Преимущества:
Полная взаимозаменяемость
Единообразие кода
Обучение
Недостатки
«Если мой коллега пишет такой ужасный код,

2. Друг за другом Преимущества: Полная взаимозаменяемость Единообразие кода Обучение Недостатки «Если
зачем и мне стараться»

Слайд 8

Инструменты для организации процесса анализа кода


Сводят к минимуму хлопоты по

Инструменты для организации процесса анализа кода Сводят к минимуму хлопоты по организации,
организации, отслеживанию, подведению итогов и отчетности.
Открытые решения:
Codestriker (David Sitsky)
Review Board (Beanbag, Inc.)
Rietveld (Google)
Платные продукты:
Code Collaborator (SmartBear Software)
Crucible (Atlassian)

Слайд 9

3. Тестировщики!

Преимущества:
разработчики
стараются писать качественнее;
знание кода. Проще
локализовать ошибку,
проще читать

3. Тестировщики! Преимущества: разработчики стараются писать качественнее; знание кода. Проще локализовать ошибку,
логи;
сокращение времени
тестирования;
Недостатки:
- технический уровень тестировщика;
- знание кода может помешать найти ошибки.

Слайд 10

Легко отловим рецензированием
ошибки форматирования строк;
состояние гонки;
утечка памяти;
переполнение буфера.

Легко отловим рецензированием ошибки форматирования строк; состояние гонки; утечка памяти; переполнение буфера.

Слайд 11

Инструменты для статического анализа кода. StyleCop


StyleCop  — статический анализатор C# кода на предмет

Инструменты для статического анализа кода. StyleCop StyleCop — статический анализатор C# кода
соответствия стилю.
+ плагин StyleCop Team Foundation Server check-in policy

Слайд 12

Инструменты для статического анализа кода. NDependent


NDepend – инструмент для Visual Studio для

Инструменты для статического анализа кода. NDependent NDepend – инструмент для Visual Studio
проведения комплексного анализа .NET кода и обеспечения его высокого качества.
Имя файла: «Code-review-как-средство-обеспечения-качества-программногообеспечения».pptx
Количество просмотров: 150
Количество скачиваний: 1