5 параметров кода, чтобы отслеживать технический долг
Про техдолг
Параметры чистого кода
Качество кода
- «Clean Agile: Back to Basics», Robert Martin — принципы чистого кода и гибких Agile-разработок.
- «Software Engineering at Google: Lessons Learned from Programming Over Time», Titus Winters, Tom Manshreck, Hyrum Wrigh — методы и средства для создания высококачественного программного обеспечения.
- «Refactoring», Martin Fowler — важный ресурс для обучения и практики рефакторинга кода.
- «Clean Architecture: A Craftsman’s Guide to Software Structure and Design», Robert Martin — общая методология для проектирования модульных и легко изменяемых систем.
Степень покрытия кода тестами
Параметр показывает, в достаточной ли степени код покрыт тестами.
Степень покрытия кода тестами = (Общее количество покрытых кодом строк / Общее количество строк кода) × 100%.
В расчете нужно стремиться к 80-90% — это будет означать, что критических участков в программе нет.
Безопасность кода
Уязвимости в коде, которые могут быть использованы хакерами для взлома продукта: SQL-инъекции, XSS-атаки, CSRF-атаки и прочее. Оценивайте соответствие кода на стандарты безопасности, таких как OWASP Top 10 или CERT C Coding Standard.
Стиль кода
Речь о таких проблемах в коде, как симптомы несогласованности форматирования кода или использование не рекомендуемых конструкций. Для каждого языка программирования могут быть различные стандарты, например, для Python широко используется стиль оформления кода PEP 8, который устанавливает правила для именования переменных, отступов, комментариев, длины строк. А для JavaScript – стиль Airbnb JavaScript Style Guide.
Исследование SonarSource показало, что отступы, пробелы и стандартное именование переменных имеют большое значение при понимании и поддержке кода. А нарушение стиля кодирования может привести к высокой стоимости поддержки и обслуживания ПО.
Соблюдение кода стандартов
Как отслеживать параметры кода
Контроль качества кода
Рефакторинг
Автоматизированное тестирование
Автоматические инструменты
- Контролировать и управлять объемом техдолга и качеством кода в своих продуктах и подключаемых сторонних библиотеках.
- Планировать время на ликвидацию техдолга с учетом критичности проблем.
- Принимать решения на основании данных анализа.
- Выявлять участки кода, которые могут привести к неправильной работе программы или к отказу системы.
- Формировать профили с собственными наборами проверок.
- Устанавливать качество кода, требуемое вам.
Желаем успеха!