Я працюю в компанії, яка саме займається цим. Нижче наведено 3 діючі показники, на які ми рекомендуємо звернути увагу при вирішенні технічної заборгованості. Для отримання додаткової інформації про те, як "і" коли "відстежувати їх, ми зібрали підсумкову статтю 3 Метрики для розуміння та подолання технічного боргу .
Які ваші думки? Рада відповісти на будь-які запитання і голодна почути ваші відгуки :).
Власність для запобігання дефектам та небажаній заборгованості за техніку
Власність є провідним показником здоров’я інженерії.
Частини кодової бази, що отримують внески від багатьох людей, накопичують сукупність з часом, тоді як ті, хто отримує внески від меншої кількості людей, як правило, перебувають у кращому стані. Простіше підтримувати високі стандарти у тісній групі, яка добре поінформована про свою частину кодової бази.
Це забезпечує деяку прогнозовану силу: слабко розташовані частини кодової бази, швидше за все, накопичуватимуть заборгованість з часом і стануть все важче працювати. Зокрема, ймовірно, що борг буде ненавмисно взятий , просто як побічний ефект від неповної інформації та розведеного володіння якістю коду.
Це дещо аналогічно трагедії общини .
Згуртованість для покращення архітектури
Згуртованість - це індикатор чітко визначених компонентів.
Згуртованість та її аналог, пов'язаний між собою, давно визнані важливими концепціями, на яких слід зосередитись при розробці програмного забезпечення.
Кодекс, як кажуть, має високу згуртованість, коли більшість його елементів є разом. Висока згуртованість, як правило, є кращою, оскільки вона пов'язана з ремонтом, повторною експлуатацією та надійністю. Висока згуртованість і слабке сполучення, як правило, йдуть рука об руку.
Окрім того, що асоціюється з більш багаторазовим і підтримуваним кодом, висока згуртованість також мінімізує кількість людей, які потребують залучення для зміни певної частини бази коду, що збільшує продуктивність.
Збийте, щоб визначити проблемні зони
Збивання (повторна діяльність) допомагає визначити та класифікувати ділянки, стиглі для рефакторингу у зростаючій системі.
У міру зростання систем розробникам стає складніше зрозуміти їх архітектуру. Якщо розробникам доведеться модифікувати багато частин кодової бази для надання нової функції, їм буде важко уникнути введення побічних ефектів, що призводять до помилок, і вони будуть менш продуктивними, оскільки їм потрібно ознайомитися з більшою кількістю елементів та понять.
Ось чому важливо прагнути до єдиної відповідальності для створення більш стабільної системи та уникнення ненавмисних наслідків. Хоча деякі файли є архітектурними вузлами і залишаються активними, коли нові функції додаються, це гарна ідея писати код таким чином, що приносить закриття файлів, і ретельно переглядає, тестує і контролює області QA.
Збільшити поверхню цих активних файлів, щоб ви могли вирішити, чи слід їх розбивати, щоб зменшити площу зміни вашої кодової бази.