Введение

Исходный код программного обеспечения с плохой структурой. "Спагетти-код" – уничижительное название неструктурированного и сложного в поддержке исходного кода. Причиной появления спагетти-кода могут быть различные факторы, такие как нестабильные требования к проекту, отсутствие правил оформления кода и недостаточная квалификация или опыт разработчиков программного обеспечения.

Значение

Код, чрезмерно использующий операторы GOTO вместо структурированных конструкций программирования, приводящий к сложным и трудноподдерживаемым программам, часто называют "спагетти-кодом". Такой код характеризуется сложной и запутанной структурой управления, в результате чего логика программы становится концептуально похожей на тарелку спагетти – переплетенной и неупорядоченной. В публикации 1980 года Национального бюро стандартов США фраза "спагетти-программа" использовалась для описания старых программ с "фрагментированными и разрозненными файлами". "Спагетти-код" также может описывать антипаттерн, когда объектно-ориентированный код написан в процедурном стиле, например, путем создания классов с чрезмерно длинными и беспорядочными методами или игнорирования объектно-ориентированных концепций, таких как полиморфизм. Наличие такого "спагетти-кода" может существенно снизить понимание системы.

Код Ravioli

Код "равиоли" — термин, специфичный для объектно-ориентированного программирования. Он описывает код, состоящий из хорошо структурированных классов, которые легко понять по отдельности, но сложно — в совокупности.

Код лазаньи

Код, напоминающий лазанью, — это код, слои которого настолько сложны и тесно связаны между собой, что изменение в одном слое потребует внесения изменений во все остальные слои.