La domanda sui valori predefiniti in generale: valori della funzione di ritorno predefiniti, valori dei parametri predefiniti, logica predefinita per quando manca qualcosa, logica predefinita per la gestione delle eccezioni, logica predefinita per la gestione delle condizioni dei bordi, ecc.
Per molto tempo ho considerato i valori di default come una cosa "malvagia", qualcosa che "nasconde la catastrofe" e si traduce in una ricerca di bug molto difficile. Ma recentemente ho iniziato a pensare ai valori di default come a una sorta di debito tecnico ... che non è una cosa negativa, ma qualcosa che potrebbe fornire alcuni "finanziamenti a breve termine" ci fa sopravvivere al progetto (quanti di noi potrebbero permettersi comprare una casa senza sottoscrivere il mutuo?).
Quando dico un "breve termine" - non voglio dire - "fai prima qualcosa velocemente e poi rifatturalo prima che colpisca la produzione". No - Sto parlando di fare affidamento su valori predefiniti codificati in un software di produzione. Concesso: potrebbe causare alcuni problemi, ma cosa succederebbe se causasse un solo problema in un anno intero.
Ancora una volta - sto parlando del software mainstream "medio" qui (non un software per una centrale nucleare) - il sito Web medio o un'applicazione UI per il software di contabilità, il che significa che le persone non sono in gioco, né milioni di dollari .
Ancora una volta, per mia esperienza, gli utenti aziendali preferiscono vivere con il software che "funziona in qualche modo", piuttosto che aspettare quello perfetto. E l'uso di valori predefiniti aiuta molto se si sviluppa un software in stile RAD. Ma ancora una volta - le sessioni di debug più lunghe che ho trascorso sono state a causa dei bug introdotti da un valore predefinito che ha smesso di essere "predefinito" lungo il percorso o perché un piccolo sottosistema è stato recentemente aggiornato e come risultato di questo aggiornamento non lo fa gestire correttamente il valore predefinito (ad es. elenco vuoto vs null o stringa null vs stringa vuota).
Quindi la mia domanda è: i valori predefiniti sono buoni o cattivi. E se si tratta di un debito tecnico, come si misura l'importo che si può prendere in prestito in modo da potersi permettere i rimborsi?
Gradirei davvero qualsiasi input.
Saluti.
MODIFICARE:
Se sto usando i valori predefiniti come modo per tagliare gli angoli durante lo sviluppo - e se il taglio degli angoli si traduce in bug e problemi - qual è la metodologia per recuperare da questi problemi?