Penserei che un buon punto di partenza (se non si vede nulla di ovvio) sarebbe "debuggarlo". A meno che tu non veda subito possibili problemi, un buon punto di partenza è fare una piccola lista di valori di test. I valori buoni sono un valore "normale percorso", un valore "zero" o "vuoto", valori nulli, un valore molto piccolo (una stringa di 1 carattere, l'int 1, ecc.), Molto grande o molto lungo valore e valori "strani" specifici per il tipo (ad esempio, caratteri Unicode per stringhe, numeri negativi per interi, ecc.). Qui non farebbe male menzionare il fatto che normalmente si dovrebbero scrivere dei test unitari usando questi valori per testare il codice, e si dovrebbe semplicemente eseguire quelli per verificare la funzione.
Inizia camminando con i valori del tuo percorso felice. Per una funzione di addizione, si potrebbe iniziare con 3 o 4. Esaminare ogni riga per errori di battitura e di logica, rintracciare i valori delle variabili locali mentre si va. Spero che trovi alcuni bug. Una volta terminato il percorso, avrai una sensazione migliore per il codice e speriamo si senta un po 'meno sopraffatto, quindi di' qualcosa del tipo, "Ora che ho una sensazione migliore di ciò che questo codice sta facendo, sono andando a fare un passo indietro e dare un'occhiata a questo, "poi fare proprio questo - cercando cose che spiccano per te come cose che avresti fatto in modo diverso (cattive decisioni di progettazione, variabili con nomi scarsi, investigare possibili errori, ecc.).
Se questo non ti porta da nessuna parte, o se ti senti come se avessi finito le cose da dire, torna al tuo elenco di valori di prova, e cammina di nuovo con una nuova che pensi sia probabile causa problemi.
Questo almeno ti farà andare.