На моїй роботі є багато ситуацій, коли я використовую кодові показники:
Під час написання коду
Найбільше і, мабуть, найважливіше використання в моїй щоденній роботі - це Checkstyle - інструмент для розробників Java, який постійно перевіряє показники (серед іншого) мого коду на набір визначених нами правил і позначає місця, де мій код не використовується відповідати цим правилам. Коли я розробляю код, він говорить мені в режимі реального часу, якщо мої методи стають довгими, складними або поєднаними, що дозволяє мені відступити назад і подумати про рефакторинг його на щось краще.
Розробники абсолютно вільні порушувати всі правила, оскільки вони ніколи не застосовуватимуться до всіх ситуацій. "Правила" існують, щоб стимулювати думку і говорити "Ей, це найкращий спосіб зробити це?"
Під час оглядів QA / Code
Перше, що я зазвичай роблю, коли виконую перевірку коду, - це перевірити покриття коду, який я переглядаю, спільно з інструментом покриття коду, який виділяє, які рядки коду були охоплені. Це дає мені загальне уявлення про те, наскільки ретельним є тестовий код. Мені дуже не байдуже, чи покриття становить 20% або 100%, якщо важливий код добре перевірений. Таким чином, відсоток покриття дещо безглуздий, але 0% впевненості виділяються як біль у великому пальці, як щось, на що я хочу уважно подивитися.
Я також перевіряю, які показники, погоджені командою, були "порушені", якщо такі є, щоб побачити, чи я згоден з розробником, що це було нормально, чи я можу запропонувати способи його вдосконалення. Наявність цих метрик розвитку, домовлених у нашій команді для написання нового коду, зробило великі шляхи вдосконалення нашого коду. Ми пишемо набагато менше монолітних методів і набагато краще за принципом єдиної відповідальності .
Тенденційні вдосконалення застарілого коду
У нас є багато застарілого коду, який ми хотіли б удосконалити. Показники в будь-який момент часу є досить марними, але для нас важливо те, що з часом охоплення кодом зростає і такі речі, як складність і зв'язок, знижуються. Тому наші показники підключаються до нашого сервера безперервної інтеграції, що дозволяє нам з часом переглянути, щоб переконатися, що ми на правильному шляху.
Ознайомлення з новою базою коду
Про єдиний раз, коли я коли-небудь використовую рядки метрики вихідного коду, це коли я дивлюся на базу коду, з якою я не знайомий. Це дозволяє мені швидко оцінити грубі розміри проекту порівняно з іншими, з якими я працював. Використовуючи інші показники, я можу отримати ще більш грубе уявлення про якість проекту.
Ключові речі - використовувати показники як вихідні точки для тенденцій, обговорень або шляхів просування, а не релігійно керувати ними точними цифрами. Але я впевнений, що вони можуть допомогти вам покращити правильний код при правильному використанні.