2009-07-27 5 views
4

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

The same Wikipedia entry однако, определяет этот термин по-разному, очевидно, имея в виду многослойных приложений: «... различные подсистемы, такие как ... кода веб-приложений, бизнес-логики и реляционной базы данных.» Значение термина, таким образом, развивалось, поскольку программисты разработали новые методологии и архитектуры.

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

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

Термин, очевидно, означает критику (так же, как вы можете критиковать мои вещи, называя это «код спагетти»). Но что это значит для вас и когда вы его используете?

+7

Сообщество wiki? –

+1

Но все слои в приятной лазаньи вкус хороший ...: p – DeadHead

+3

Ха-ха, я люблю ваше объяснение # 2; +1 для дегустации нескольких слоев лазаньи одновременно. :-) – molf

ответ

0

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

6

Слишком много GOTOS == Спагетти Код

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

:)

+2

Чрезмерное использование труб - Penne Code –

+2

Чрезмерная резьба - Код Капеллини :) –

+2

Чрезмерное использование пружинного каркаса - код Fusilli –

2

Spaghetti code ссылка на Википедию has this to say,

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

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

1

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

Он также может ссылаться на код, написанный итальянцами. Я полагаю :)