Способ оценки качества исходного кода или code review reminder

Post on 16-Jun-2015

981 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Денис Иванов, uml2.ru, Ай Ти Консалтинг, Санкт-Петербург, Россия

TRANSCRIPT

Иванов Денис, Ай Ти КонсалтингФедоров Андрей, 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

top related