Я работаю в компании, которая занимается именно этим. Ниже приведены три метрики, которые мы рекомендуем учитывать при решении технических проблем. Для получения дополнительной информации о том, «как» и «когда» отслеживать их, мы составили сводную статью 3 «Метрики для понимания и решения технического долга» .
о чем ты думаешь? Рад ответить на любые вопросы и с нетерпением жду ваших отзывов :).
Владение, чтобы предотвратить дефекты & нежелательный технический долг
Собственность является ведущим показателем инженерного здоровья.
Части кодовой базы, получающие вклады от многих людей, со временем накапливаются, а те, кто получает вклады от меньшего количества людей, как правило, находятся в лучшем состоянии. Легче поддерживать высокие стандарты в тесной группе, которая хорошо осведомлена о своей части кодовой базы.
Это обеспечивает некоторую предсказательную силу: слабые части кодовой базы, вероятно, со временем накапливают долги и с ними становится все труднее работать. В частности, существует вероятность того, что долг будет непреднамеренно взят на себя , просто как побочный эффект неполной информации и разрозненного владения качеством кода.
Это несколько аналогично трагедии общего достояния .
Сплоченность для улучшения архитектуры
Сплоченность - это трейлинг-индикатор четко определенных компонентов.
Сплоченность и ее аналог, связывание, уже давно признаны в качестве важных концепций, на которые следует обратить внимание при разработке программного обеспечения.
Говорят, что код обладает высокой связностью, когда большинство его элементов связаны друг с другом. Высокая когезия, как правило, предпочтительнее, поскольку она связана с ремонтопригодностью, возможностью повторного использования и надежностью. Высокая когезия и слабое сцепление имеют тенденцию идти рука об руку.
Помимо того, что он связан с более многократно используемым и поддерживаемым кодом, высокая сплоченность также сводит к минимуму количество людей, которые должны быть вовлечены в изменение определенной части кодовой базы, что повышает производительность.
Отток для выявления проблемных зон
Отток (повторяющаяся активность) помогает идентифицировать и ранжировать области, созревшие для рефакторинга в растущей системе.
По мере роста систем разработчикам становится все труднее понимать их архитектуру. Если разработчикам придется модифицировать многие части кодовой базы для предоставления новой функции, им будет трудно избежать появления побочных эффектов, приводящих к ошибкам, и они будут менее продуктивными, поскольку им необходимо ознакомиться с большим количеством элементов и концепций.
Вот почему важно стремиться к единоличной ответственности за создание более стабильной системы и избежание непредвиденных последствий. Хотя некоторые файлы являются архитектурными центрами и остаются активными при добавлении новых функций, рекомендуется написать код таким образом, чтобы обеспечить закрытие файлов, а также тщательно проверять, тестировать и проверять области проверки.
Поверхностная обработка этих активных файлов позволяет вам решить, следует ли их разбивать, чтобы уменьшить площадь изменений в вашей кодовой базе.