Спагеті-код - це

Спагеті-код - погано спроектована, слабо структурована, заплутана і важка для розуміння програма. особливо що містить багато операторів GOTO (особливо переходів назад), винятків і інших конструкцій, що погіршують структурованість [1]. Найпоширеніший антипаттерн програмування.

Спагеті-код названий так, тому що хід виконання програми схожий на миску спагетті. тобто звивистий і заплутаний. Іноді називається «кенгуру-код» (kangaroo code) через безліч інструкцій jump.

В даний час термін застосовується не тільки до випадків зловживання GOTO, але і до будь-якого «багатозв'язна» коду, в якому один і той же невеликий фрагмент виповнюється у великій кількості різних ситуацій і виконує дуже багато різних логічних функцій [1].

Спагеті-код зазвичай виникає:

  • від недосвідченості розробників;
  • від серйозного пресингу по термінах, як встановленого керівництвом (наприклад, в прийнятій в компанії системі мотивації на роботу швидше), так і встановленого розробником самому собі (бажання все зробити найбільш швидким способом).

Спагеті-код може бути налагоджений і працювати правильно і з високою продуктивністю, але він вкрай складний в супроводі та розвитку [1]. Виправлення спагетті для додавання нових функцій іноді несе такий величезний потенціал внесення нових помилок, що рефакторинг (головні ліки від спагетті) стає неминучим.

Нижче наводиться приклад спагетті-коду на Бейсике. виконує просте дію - друк чисел від 1 до 10 і їх квадратів. Реальні приклади спагетті-коду набагато складніші і створюють великі проблеми при супроводі програм.

Дивитися що таке "Спагеті-код" в інших словниках:

Спагеті (значення) - Готові спагетті. Спагеті макаронний виріб з довгих і тонких ниток. У переносному сенсі, спагетті може позначати що то переплетених, складне або заплутане: багаторівневу транспортну розв'язку з безліччю довгих естакад, ... ... Вікіпедія

Роздування ПО - роздування програмного забезпечення (англ. Software bloat, bloatware) тенденція нових програм бути більше за обсягом і вимагати більше системних ресурсів в порівнянні зі старими. В результаті у багатьох людей з'являється відчуття, що зростання ... ... Вікіпедія

Функція для галочки - Роздування програмного забезпечення (англ. Software bloat, bloatware) тенденція нових програм бути більше за обсягом і вимагати більше системних ресурсів в порівнянні зі старими. В результаті у багатьох людей з'являється відчуття, що зростання ... ... Вікіпедія

Стандарт оформлення коду - (стандарт кодування, стиль програмування) (англ. Coding standards, coding convention або programming style) набір правил і угод, що використовуються при написанні вихідного коду на деякій мові програмування. Наявність загального ... ... Вікіпедія

Шаблони проектування GRASP - GRASP (англ. General Responsibility Assignment Software Patterns (загальні зразки розподілу обов'язків)) патерни, використовувані в об'єктно орієнтованому проектуванні для вирішення спільних завдань за призначенням обов'язків класів і об'єктів. В ... Вікіпедія

GRASP - (англ. General Responsibility Assignment Software Patterns загальні зразки розподілу обов'язків) патерни, використовувані в об'єктно орієнтованому проектуванні для вирішення спільних завдань за призначенням обов'язків класів і ... ... Вікіпедія

Схожі статті