Что для вас означает термин “код лазаньи”?[закрыто]

StackOverflow https://stackoverflow.com/questions/1187995

Вопрос

Согласно Википедии, термин был первоначально введен экспертом по базам данных Джо Селко в 1982 году, и вот цитата из его статья 1997 года раскрывая, что он имел в виду под этим: "Стандартное решение [структурированного программирования] состояло в замене GOTO вложенными операторами IF-THEN-ELSE и переключателями, которые были настолько глубокими и имели столько избыточности, что вместо этого у вас был путь управления, похожий на тарелку лазаньи ".

Та же статья в Википедии однако этот термин определяется по-другому, явно имея в виду многоуровневые приложения: "...различные подсистемы, такие как ...код веб-приложения, бизнес-логика и реляционная база данных". Таким образом, значение термина менялось по мере того, как программисты разрабатывали новые методологии и архитектуры.

Я могу придумать два современных определения термина "код лазаньи".:

  1. уровни программного приложения, которые являются избыточными, чрезмерно спроектированными или тривиальными (очевидно)
  2. уровни программного приложения, в которых отсутствуют модульные тесты с надлежащей изоляцией.Разработчики всего лишь протестировали систему, разрезав ее на несколько слоев одновременно.

Этот термин, очевидно, означает критику (точно так же, как вы можете критиковать мои материалы, называя их "спагетти-кодом").Но что это значит для вас и когда бы вы им воспользовались?

Это было полезно?

Решение

Другие советы

Слишком много GOTO == Спагетти-код

Слишком много IF-THEN-ELSE/Переключить == Код лазаньи

:)

Код спагетти ссылка на Википедию должен ли я это сказать,

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

Аналогия проистекает из слоистая структура пластины лазаньи,
где различные ингредиенты (мясо, соус, овощи или сыр) разделены полосками пасты.

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

Я полагаю, это также может относиться к коду, написанному итальянцами :)

Я никогда раньше не слышал о коде для лазаньи, но первое, что пришло на ум, было "код для спагетти".Я предполагал, что части этого были разбросаны повсюду, но большинство представляло собой сплоченное целое.Неплохой код для спагетти, но недостаточно хорош, чтобы его не вызвали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top