Casa Sviluppo Che cos'è il debito tecnico? - definizione da techopedia

Che cos'è il debito tecnico? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa debito tecnico?

Il debito tecnico è un concetto di programmazione che riflette il lavoro di sviluppo aggiuntivo che si presenta quando viene utilizzato un codice facile da implementare a breve termine anziché applicare la migliore soluzione globale.

Il debito tecnico è comunemente associato alla programmazione estrema, specialmente nel contesto del refactoring. Cioè, implica che la ristrutturazione del codice esistente (refactoring) è richiesta come parte del processo di sviluppo. Sotto questa linea di pensiero il refactoring non è solo il risultato di un codice scritto male, ma è anche basato sulla comprensione in evoluzione di un problema e sul modo migliore per risolverlo.

Il debito tecnico può anche essere noto come debito di progettazione.

Techopedia spiega il debito tecnico

Il termine è stato coniato da Ward Cunningham, un programmatore noto anche per lo sviluppo della prima wiki. Il debito tecnico è una metafora che identifica lo sviluppo del software con il debito finanziario. Immagina di avere un progetto che ha due potenziali opzioni. Uno è rapido e semplice ma richiederà modifiche in futuro. L'altro ha un design migliore, ma richiederà più tempo per l'implementazione. Nello sviluppo, rilasciare il codice come approccio semplice e rapido è come incorrere in un debito: si tratta dell'obbligo di interesse che, per il debito tecnico, si presenta sotto forma di lavoro extra in futuro. Prendersi il tempo di refactoring equivale a pagare il capitale. Mentre ciò richiede tempo nel breve periodo, riduce anche i pagamenti di interessi futuri.

Ward Cunningham descrive questo concetto nel 1992 come segue:

"La spedizione del codice per la prima volta è come indebitarsi. Un piccolo debito accelera lo sviluppo fintanto che viene rimborsato prontamente con una riscrittura. Gli oggetti rendono tollerabile il costo di questa transazione. Il pericolo si presenta quando il debito non viene rimborsato. Ogni minuto spesi in codice non del tutto giusto conta come interesse per quel debito. Intere organizzazioni di ingegneria possono essere bloccate sotto il carico del debito di un'implementazione non consolidata, orientata agli oggetti o altro. "

Il concetto non significa che il debito non dovrebbe mai essere sostenuto. Proprio come la leva finanziaria può aiutare un'azienda se utilizzata correttamente, una soluzione rapida può significare un time-to-market più rapido nello sviluppo del software. Inoltre, il debito tecnico non è solo un codice scadente. Il cattivo codice è un cattivo codice e il debito tecnico può derivare dal lavoro di buoni programmatori sotto vincoli di progetto non realistici.

Che cos'è il debito tecnico? - definizione da techopedia