O que significa o termo “código de lasanha” significa para você? [fechadas]
-
19-09-2019 - |
Pergunta
De acordo com a Wikipedia, o termo foi originalmente cunhado por um especialista em banco de dados de Joe Celko em 1982 e aqui está uma citação de seu artigo de 1997 revelando o que ele quis dizer com isso: "a solução padrão [programação estruturada] era substituir os GOTOs com aninhados if-then-else e interruptores que foram em camadas tão profundas e tão redundância que você tinha um caminho de controle que parecia um prato de lasanha em vez ".
A mesma entrada Wikipedia no entanto, define o termo de forma diferente, referindo-se claramente a multi-camadas aplicações:. "... diferentes subsistemas, tais como ... código web aplicação, lógica de negócios e um banco de dados relacional" O significado do termo tem, assim, evoluiu como programadores desenvolveram novas metodologias e arquiteturas
Eu posso pensar de duas definições modernas de "código de lasanha":
- camadas de uma aplicação de software que são excessivos, mais de engenharia ou trivial (obviamente)
- camadas de uma aplicação de software unidade falta testa com isolamento adequado. Os desenvolvedores só testei o sistema que corta através e consumindo várias camadas de uma vez.
O termo significa, obviamente, a crítica (assim como você pode criticar as minhas coisas, chamando-o "código espaguete"). Mas o que isso significa para você e quando você usá-lo?
Solução
Para mim, isso significa camadas sem uma boa razão .
Outras dicas
Too muitos GOTOs == código espaguete
Muitos IF-THEN-ELSE / Switch == Código Lasagna
:)
código espaguete referência na Wikipedia tem a dizer ,
código Lasagna é um tipo de estrutura de programa, caracterizado por diversas camadas bem definidas e desmontável, onde cada camada de código acessos serviços nas camadas abaixo através de interfaces bem definidas.
O termo é, em comparação com código espaguete , comparando a estrutura do programa para massas.A analogia decorre da estrutura em camadas de um prato de lasanha ,
onde diferentes ingredientes (carne, molho, legumes, ou queijo) são cada uma delas separada por tiras de massa.
A lasanha bem feito, o tipo meus esposa faz, é bem em camadas e arrumado, spaghetti, por outro lado está uma bagunça confuso emaranhado, então eu acho que este seria um insulto enquanto a primeira seria apenas uma maneira de descrever código que tem sido desenvolvida em camadas isoladas. Eu acho que MVC seria considerada uma abordagem lasanha à programação, mas que parece bobagem e eu nunca iria usá-lo. Além disso, se você disse a um programador de gordura que ele escreve aplicações lasanha você corre o risco de ofender o pobre rapaz.
Ele também pode se referir ao código escrito por italianos suponho:)
Eu nunca ouvi falar de código lasanha antes, mas a primeira coisa que veio à mente foi "código espaguete". Meu palpite foi partes dele estavam em todo o lugar, mas a maioria era uma unidade coesa. Não é um mau um código espaguete, mas não bom o suficiente para não ser chamado.