Как стать автором
Обновить

Управление качеством кода

Время на прочтение1 мин
Количество просмотров16K
В одной из книг ДеМарко была приведена интересная история. Представьте, что к руководителю проекта приходит представитель Всемирно Известной Организации по Измерению Качества и сообщает, что команда проекта попала в Топ 10 всех команд в мире по качеству кодирования.

О чем думает руководитель? Его сердце наполняется теплотой и проскакивают мысли «Вот молоцы! А я всегда подозревал...». После чего, представитель вдруг возвращается и приносит свои извинения — произошла ошибка, проект на самом деле 10й с конца. Настроение руководителя кардинально меняется и он уже вовсю проклинает свою команду.

В чем ошибка руководителя? Он не измеряет качество кода.

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



Sonar поддерживает Java, также возможна поддержка языков Flex, PHP, PL/SQL, Cobol, Visual Basic 6 с помощью плагинов. Полное описание метрик можно найти здесь.

Рекомендуемые значения некоторых метрик:
  • Комментарии — рекомендуемый диапазон 20% — 40% от общего количества строк.
  • Повторения строк — чем меньше, тем лучше.
  • Средняя сложность методов — не больше 5.
  • Покрытие кода тестами — от 80% и больше.
  • Rules compliance (соответствие правилам, настраиваемым в Sonar) — чем больше, тем лучше.
  • LCOM4 (разнесенность компонентов) — чем ближе к 1, тем лучше.

У нас налицо проблемы с юнит тестами. А у вас?
Теги:
Хабы:
Всего голосов 42: ↑34 и ↓8+26
Комментарии91

Публикации

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань