Ho programmato in C e C ++ per qualche tempo, anche se direi che sono lontano dall'essere un esperto. Per un po 'di tempo, ho utilizzato varie strategie per sviluppare il mio codice, come test unitari, progettazione basata su test, revisioni del codice e così via.
Quando ho scritto i miei primi programmi in BASIC, ho digitato in lunghi blocchi prima di scoprire che non sarebbero stati in esecuzione e che erano un incubo da eseguire il debug. Così ho imparato a scrivere un po 'e poi testarlo.
In questi giorni, mi trovo spesso a scrivere ripetutamente un po 'di codice, quindi a usare il compilatore per trovare tutti gli errori. Va bene se riprende un errore di battitura, ma quando inizi ad aggiustare i tipi di parametri ecc. Solo per farlo compilare puoi rovinare il design. Sembra anche che il compilatore stia strisciando nel processo di progettazione quando dovrebbe essere usato solo per verificare la sintassi.
Qui c'è il rischio di affidarsi troppo al compilatore per migliorare i miei programmi. Ci sono strategie migliori di questa?
Ricordo vagamente qualche tempo fa un articolo su un'azienda che sviluppava un tipo di compilatore C in cui un file di intestazione extra specificava anche i prototipi. L'idea era che le incoerenze nella definizione dell'API sarebbero state più facili da catturare se dovessi definirla due volte in modi diversi.