📊 ZEL-Услуги ➡ Инфоблок ➡ Термины
Предлагаем узнать, почему для предпринимателя и айтишника эти «блюда» не сулят ничего хорошего.
Код «Спагетти» (от английского словосочетания spaghetti code) — простыми словами, это уничижительное жаргонное описание некачественного программного продукта. В силу различных факторов такой софт приходит ко всё менее эффективному/оптимизированному виду.
💡 Иногда неправильно называют «лапша код» (вообще относится к штрих-коду, но на том же «хабре» употребляется).
Почему спагетти код — это ругательство?
В качестве примера «спагетти» кода можно привести ситуацию:
- несколько разработчиков добавляют или изменяют код
- делают свои дела в течение многих лет,
- попутно пытаются оптимизировать существующую инфраструктуру программирования.
В результате возникает запутанная структура кода с многочисленными операторами. Проект со временем всё сложнее (и дороже) поддерживать.
Предприниматель может обвинить разработчика в создании кода спагетти и выставить неустойку. Организация в этой ситуации здорово рискует своим будущим.
После долгих лет работы и инвестиций в проект, ИТ-менеджеров и другие ресурсы, поддержка становится всё более дорогостоящей. В конце концов, спагетти код сделает её нерентабельной.
Как избежать спагетти кода?
Попытки привлечь других программистов приводят к значительным потерям по времени и не гарантируют результат. Новым исполнителям приходится исследовать и перекодировать инфраструктуру проекта только для того, чтобы что-то перестало «ломаться».
Затем им приходится изучать годы выполненной работы. Часто там результаты управления разными разработчиками. Это нужно всё разобрать и определить источник проблемы (если её вообще возможно решить).
По этой причине спагетти-код считается серьёзной неприятностью для разработчиков и ИТ-менеджеров. Корпоративным предприятиям, которым приходится управлять своими ресурсами, такой ситуации следует избегать как огня. Сделать это можно следующими способами.
1. Усердие и внимание к деталям
По нашей в ZEL-Услугах оценке, многие компании в погоне за результатами не уделяет внимание архитектуре разработки. Фундаментальный подход к деталям зачастую на корню пресекает все возможные путаницы с кодом в будущем даже при смене разработчика — все работают с унифицированным и интуитивным строением кода.
2. Тестирование модулями
Регулярные тесты должны выполняться модульно. Комплексный подход хорош на прохождении определённых этапов развития проекта. Однако внимание деталям уделяется больше всего на промежуточных модульных тестированиях.
3. Проверяйте программистов
Дополнительная пара глаз не помешает. Если вы столкнетесь с признаками кода спагетти, обратитесь к другому программисту или другой команде разработчиков (например, на аутсорсинге), чтобы убедиться в опасениях и внести изменения пока ещё не поздно.
4. Фреймворки полегче
В 2021-м году чем легче и проще фреймворки, тем лучше. Оптимизация структуры по этому принципу настраивает всю компанию на работу с простыми решениями впредь. Отличный пример профилактики кода спагетти.
5. Принцип «слоёного теста»
В крупных проектах «Spaghetti Code» — неизбежность. Реализуйте в таком случае архитектуру «слоёной» разработки. Так легче локально корректировать запутанный код и сохранять функциональность других слоёв.
***
В англоязычном сообществе софт ещё обзывают:
- «равиоли код» (Ravioli code) — его легко понять в классе, но не в контесте всего проекта;
- «лазанья код» (Lasagna code) — в попытке использовать принцип «слоёного теста» для избавления от спагетти кода, слои оказываются слишком зависимы друг от друга и любое изменение в одном уровне портит весь проект;
- «пицца код» (Pizza code) — пример слишком плоской архитектуры кода («спагетти» размазались по тарелке).
PS: приятного аппетита, наши дорогие айтишники и предприниматели!
Специалисты в ZEL-Услугах прошли через огонь и воду, чтобы решить последствия некачественного подхода к созданию ИТ-инфраструктуры под бизнес-проекты — проконсультируйтесь с ними и получите ценные наставления для своего предприятия, если появились сложности с ИТ.