Qual è la teoria della pasta della programmazione?
La teoria della pasta sulla programmazione ha a che fare con la complessità di varie strutture di programmazione. Proprio come la pasta è disponibile in diverse dimensioni e forme, lo stesso vale per il codice di programmazione. Con una teoria della pasta, un particolare tipo di pasta viene utilizzato come illustrazione colorata per identificare alcuni aspetti associati a una particolare serie di protocolli di programmazione.
Un eccellente esempio di una teoria della pasta sulla programmazione è il codice spaghetti. Gli spaghetti cotti sono spesso serviti come una raccolta di fili che si incrociano e si intrecciano tra loro. È praticamente impossibile estrarre un filo di spaghetti senza causare un certo disturbo agli altri fili.
Con questo tipo di teoria della pasta, si comprende che lo sforzo di programmazione è in qualche modo casuale e caotico. C'è poca o nessuna struttura reale nel codice di programmazione. Il risultato finale è che il tentativo di modificare il codice associato a una parte della sequenza spesso crea problemi imprevisti con un'altra parte del codice. Di conseguenza, un codice spaghetti è estremamente difficile da capire in termini di progressione logica e altrettanto difficile da modificare senza creare nuovi problemi.
Al contrario, la teoria della pasta sulla programmazione può anche riferirsi a una programmazione altamente strutturata. Un esempio di questo tipo di teoria è noto come il codice lasagna. La lasagna è un piatto di pasta a strati, con ingredienti posizionati deliberatamente e coerentemente tra gli strati di noodles di lasagne. Il risultato finale è un piatto di pasta uniforme dappertutto e facilmente scomponibile in componenti identificabili.
Quando la teoria o la programmazione della pasta utilizza il termine codice lasagna per riferirsi a uno sforzo di programmazione, sta mettendo in luce la logica e l'ordine che sembrano governare l'intera struttura del codice in questione. È possibile modificare sezioni del codice senza creare una reazione imprevista da qualche parte in seguito nell'elaborazione del codice. La progressione logica e il sequenziamento sono i segni distintivi di un codice lasagna, rendendolo un opposto del codice spaghetti più caotico.
Il concetto della teoria della pasta della programmazione è in genere attribuito a Raymond Rubey. In una lettera che scrisse a una rivista specializzata nel 1992, Rubey usò la terminologia relativa a ravioli e spaghetti per riferirsi a strategie e situazioni di programmazione. L'idea generale di una teoria della pasta sulla programmazione ha preso piede e ben presto vari metodi di programmazione hanno cominciato a essere etichettati da molti programmatori usando vari tipi di pasta. In alcuni casi, la selezione di nomi di pasta puntava su attributi benefici di un determinato approccio al codice di programmazione, mentre altri si riferivano a metodi di programmazione che erano considerati meno efficienti e strutturati