- •Санкт-Петербург, 2025 г.
- •Введение
- •Основные принципы чистого кода
- •3. Понятные имена переменных, функций и классов
- •Измерение качества чистого кода
- •Инструменты анализа и обеспечения качества кода
- •Преимущества поддержания чистого кода
- •Практики реализации чистого кода в проектах
- •Роль рефакторинга в поддержании чистого кода
- •Коммуникация и документация как факторы качества кода
- •Заключение
- •Библиографический список
Заключение
Измерение качества чистого кода является незаменимым инструментом для повышения эффективности и надежности программных продуктов. Понимание и применение принципов чистого кода, а также использование соответствующих метрик и инструментов, содействует созданию продуктов, которые не только работают, но и легко поддерживаются и расширяются на протяжении всего жизненного цикла [2], [10].
Исследования показывают [4], [7], [12], что раннее внедрение практик чистого кода, статического анализа, тестирования и непрерывной интеграции позволяет достичь значительных улучшений в читаемости, сопровождаемости и общем качестве кода. Эти практики формируют культуру качества, которая становится неотъемлемой частью процесса разработки [2].
Долгоживущие программные проекты подвергаются существенному эволюционному давлению в виде изменяющихся требований, технологий и состава команды разработчиков [1]. В таких условиях чистый, хорошо структурированный код является не просто роскошью, а необходимостью. Он позволяет сократить время на понимание существующего кода и внесение в него изменений, что критически важно при нарастающей сложности проекта.
Не только аспекты чистого кода, но и количественные характеристики качества, такие как производительность, должны поддерживаться для долгоживущего программного обеспечения [8]. Регулярный мониторинг и оценка различных аспектов качества кода с использованием автоматизированных инструментов [7], [8] позволяют выявлять проблемы на ранних стадиях и предотвращать деградацию кодовой базы с течением времени.
Библиографический список
[1] T. D. LaToza, G. Venolia, и R. DeLine, «Maintaining mental models: a study of developer work habits», в Proceedings of the 28th international conference on Software engineering, в ICSE ’06. New York, NY, USA: Association for Computing Machinery, май 2006, сс. 492–501. doi: 10.1145/1134285.1134355.
[2] Р. О. Мартин, «Чистый код», Просмотрено: 13 март 2025 г. [Онлайн]. Доступно на: https://www.elibrary.ru/item.asp?id=21558412
[3] Д. С. Корнач, «Принципы написания „Чистого кода“», Крымский федеральный университет им. В.И. Вернадского, 2023, сс. 244–245. Просмотрено: 13 март 2025 г. [Онлайн]. Доступно на: https://www.elibrary.ru/item.asp?id=51624378
[4] T. J. McCabe, «A complexity measure», IEEE Trans. Softw. Eng., т. 2, вып. 4, сс. 308–320, июл. 1976, doi: 10.1109/TSE.1976.233837.
[5] А. А. Прокопенко и А. М. Семин, «Правила написания чистого программного кода», Тольяттинский государственный университет, 2021, сс. 51–55. Просмотрено: 13 март 2025 г. [Онлайн]. Доступно на: https://www.elibrary.ru/item.asp?id=48035554
[6] А. А. Ефимов, «Непрерывный контроль качества кода с помощью SonarQube», Инновации. Наука. Образование, вып. 11, сс. 286–297, 2020.
[7] P. Tomas, M. J. Escalona, и M. Mejias, «Open source tools for measuring the Internal Quality of Java software products. A survey», Computer Standards & Interfaces, т. 36, вып. 1, сс. 244–255, ноя. 2013, doi: 10.1016/j.csi.2013.08.006.
[8] Waller J., Ehmke N. C., и Hasselbring W., «Including performance benchmarks into continuous integration to enable DevOps». Просмотрено: 13 март 2025 г. [Онлайн]. Доступно на: https://www.researchgate.net/publication/274738961_Including_Performance_Benchmarks_into_Continuous_Integration_to_Enable_DevOps?_tp=eyJjb250ZXh0Ijp7ImZpcnN0UGFnZSI6InNpZ251cCIsInBhZ2UiOiJwdWJsaWNhdGlvbiJ9fQ
[9] Тынышбаев А. А., Шаяхметов И. М., и Шарафиева Н. Х., «Создание чистого кода как инструмента для поддержки командного проекта», ResearchGate. Просмотрено: 13 март 2025 г. [Онлайн]. Доступно на: https://www.researchgate.net/publication/371050228_Sozdanie_cistogo_koda_kak_instrumenta_dla_podderzki_komandnogo_proekta
[10] C. Sadowski, E. Aftandilian, A. Eagle, L. Miller-Cushon, и C. Jaspan, «Lessons from building static analysis tools at Google», Commun. ACM, т. 61, вып. 4, сс. 58–66, мар. 2018, doi: 10.1145/3188720.
[11] M. Fowler и K. Beck, Refactoring: improving the design of existing code, Second edition. в The Addison-Wesley signature series. Boston Columbus New York San Francisco Amsterdam Cape Town Dubai London Munich: Addison-Wesley, 2019.
[12] B. Johnson, Y. Song, E. Murphy-Hill, и R. Bowdidge, «Why don’t software developers use static analysis tools to find bugs?», в 2013 35th International Conference on Software Engineering (ICSE), май 2013, сс. 672–681. doi: 10.1109/ICSE.2013.6606613.
