Способ оценки качества исходного кода или Code Review Reminder
-
Upload
sqalab -
Category
Technology
-
view
985 -
download
3
description
Transcript of Способ оценки качества исходного кода или Code Review Reminder
Иванов Денис, Ай Ти КонсалтингФедоров Андрей, LG Electronics
Способ оценки качества исходного кода илиCode Review Reminder
Чего нельзя измерить, тем нельзя управлять.Изречение американских менеджеров
Гораздо легче провести измерение, чем понять, что именно вы измеряете.
Дж. У. Н. Салливен (1886-1937), американский физик
Качество
• Качество ПО – это нефункциональное (желательное) требование.
• Качество ПО влияет на– отладку (debugging) – тестирование (testing)– поддержку (maintenance)– внесение изменений (modification)
• исправление ошибок (fixing)
– и т.д.
• Оценка качества ПО– относительная
The Stable Dependencies Principle
Package A
Package B
Более устойчивый пакет
Менее устойчивый пакет
Неустойчивость (by Robert C. Martin)
• Ca – количество классов вне пакета, которые зависят от классов, находящихся внутри пакета
• Ce – количество классов внутри пакета, которые зависят от классов, находящихся вне пакета
• I – неустойчивость пакета
• I = 1 – максимально неустойчивый пакет• I = 0 – максимально устойчивый пакет
ea
a
CC
CI
Неустойчивость (by Robert C. Martin)
Package A
Package B
Максимально устойчивый пакет
Максимально неустойчивый пакет
Неустойчивость (by Robert C. Martin)
• Относится к пакету, но не ко всей системе• Не учитывает косвенные зависимости• Хорошо или плохо?
Один из признаков качества
Устойчивость к внесению изменений
Анализ отношений между модулями системы, т.е. анализ структуры
Модули:– Каталоги– Файлы– Пространства имен– Классы– Методы– Кооперации– …
Неустойчивость
Неустойчивость модуля к внесению изменений в программную систему – приблизительная вероятность того, что изменение в некотором другом модуле повлекут за собой изменения в исходном
• Относится к модулю и может быть перенесено на всю систему (усреднено)
• Учитывает косвенные зависимости• Хорошо или плохо
Пример
020 025
040
060 070
100
0
0,05
0,1
0,15
0,2
0,25
0,3
20 25 30 35 40 55 60 65 70 85 100 120 130 170
Revision
Isy
sПример
References
• http://www.objectmentor.com • http://ru.wikipedai.org• http://blog.it-konsulting.spb.ru• Object-Oriented Metrics in Practice,
ISBN: 978-3-540-24429-5