Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Исходный код программного обеспечения с плохой структурой. "Спагетти-код" – уничижительное название неструктурированного и сложного в поддержке исходного кода. Причиной появления спагетти-кода могут быть различные факторы, такие как нестабильные требования к проекту, отсутствие правил оформления кода и недостаточная квалификация или опыт разработчиков программного обеспечения.
Software source code with poor structure
Spaghetti code is a pejorative phrase for unstructured and difficult to maintain source code. Spaghetti code can be caused by several factors, such as volatile project requirements, lack of programming style rules, and software engineers with insufficient ability or experience.
Значение
Код, чрезмерно использующий операторы GOTO вместо структурированных конструкций программирования, приводящий к сложным и трудноподдерживаемым программам, часто называют "спагетти-кодом". Такой код характеризуется сложной и запутанной структурой управления, в результате чего логика программы становится концептуально похожей на тарелку спагетти – переплетенной и неупорядоченной. В публикации 1980 года Национального бюро стандартов США фраза "спагетти-программа" использовалась для описания старых программ с "фрагментированными и разрозненными файлами". "Спагетти-код" также может описывать антипаттерн, когда объектно-ориентированный код написан в процедурном стиле, например, путем создания классов с чрезмерно длинными и беспорядочными методами или игнорирования объектно-ориентированных концепций, таких как полиморфизм. Наличие такого "спагетти-кода" может существенно снизить понимание системы.
Code that overuses GOTO statements rather than structured programming constructs, resulting in convoluted and unmaintainable programs, is often called spaghetti code. Such code has a complex and tangled control structure, resulting in a program flow that is conceptually like a bowl of spaghetti, twisted and tangled. In a 1980 publication by the United States National Bureau of Standards, the phrase spaghetti program was used to describe older programs having "fragmented and scattered files". Spaghetti code can also describe an anti pattern in which object oriented code is written in a procedural style, such as by creating classes whose methods are overly long and messy, or forsaking object oriented concepts like polymorphism. The presence of this form of spaghetti code can significantly reduce the comprehensibility of a system.
Код Ravioli
Код "равиоли" — термин, специфичный для объектно-ориентированного программирования. Он описывает код, состоящий из хорошо структурированных классов, которые легко понять по отдельности, но сложно — в совокупности.
Ravioli code is a term specific to object oriented programming. It describes code that comprises well structured classes that are easy to understand in isolation, but difficult to understand as a whole.
Код лазаньи
Код, напоминающий лазанью, — это код, слои которого настолько сложны и тесно связаны между собой, что изменение в одном слое потребует внесения изменений во все остальные слои.
Lasagna code refers to code whose layers are so complicated and intertwined that making a change in one layer would necessitate changes in all other layers.