Domanda

Secondo Wikipedia, il termine è stato coniato da un esperto di database Joe Celko nel 1982 e qui è una citazione da il suo articolo del 1997 rivelando che cosa intendesse con esso: "La soluzione standard [programmazione strutturata] è stato quello di sostituire le GOTO con nidificato IF-then-else e switch che sono stati stratificati in modo profondo e aveva così tanto ridondanza che hai avuto un percorso di controllo che sembrava un piatto di lasagne, invece. "

Lo stesso Wikipedia tuttavia, definisce il termine diversamente, riferendosi chiaramente multistrato applicazioni:. "... diversi sottosistemi, come ad esempio ... il codice web di applicazione, la logica di business, e un database relazionale" significato del termine è quindi evoluto come i programmatori hanno sviluppato nuove metodologie e architetture

Mi vengono in mente due definizioni moderne di "codice di lasagne":

  1. strati di un'applicazione software che sono eccessive, oltre-engineering o banale (ovviamente)
  2. strati di un'applicazione software privo unit test con corretto isolamento. Gli sviluppatori testato solo il sistema tagliando attraverso e consumando più livelli in una sola volta.

Il termine significa, ovviamente, la critica (tanto come si può criticare la mia roba chiamandola "spaghetti code"). Ma che cosa significa per voi e quando lo si dovrebbe utilizzare?

È stato utile?

Soluzione

Altri suggerimenti

Troppi GOTO == spaghetti code

Troppi IF-then-else / Switch == Codice Lasagna

:)

spaghetti code di riferimento su Wikipedia ha questo da dire ,

  

codice lasagne è un tipo di struttura di programma, caratterizzata da diversi strati ben definiti e separabili, dove ogni strato di codice accede servizi negli strati sottostanti attraverso interfacce ben definite.
  Il termine è in confronto con il spaghetti code , confrontando struttura del programma alla pasta.

     

L'analogia deriva dal struttura a strati di un piatto di lasagne ,
  dove diversi ingredienti (carne, salsa, verdure, o formaggio) sono separati da strisce di pasta.

Una lasagna ben fatto, il tipo mia moglie fa, è ben stratificata e ordinata, gli spaghetti d'altra parte è un pasticcio confuso aggrovigliato, quindi penserei che quest'ultimo sarebbe un insulto mentre la prima sarebbe solo un modo di descrivere codice che è stato sviluppato in strati isolati. Credo che MVC sarebbe considerato un approccio lasagne alla programmazione, ma suona stupido e non avrei mai usarlo. Inoltre, se hai detto un programmatore grasso che scrive applicazioni lasagne si corre il rischio di offendere il povero ragazzo.

Si potrebbe anche fare riferimento al codice scritto da italiani suppongo:)

Non ho mai sentito parlare di codice lasagne prima, ma la prima cosa che mi venne in mente era "spaghetti code". La mia ipotesi era parti di esso erano dappertutto, ma la maggioranza era un'unità coesa. Non è una cattiva uno spaghetti code, ma non abbastanza da non buono per ottenere chiamati fuori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top