Per coloro che non hanno letto codice completo 2, il processo di programmazione pseudocodice è fondamentalmente un modo di progettare una routine descrivendolo in parole povere, poi a poco a poco a rivedere pseudocodice più dettagliata, e, infine, per il codice. Il vantaggio principale di questo è quello di aiutare a rimanere al giusto livello di astrazione dai sistemi di costruzione di tipo top-down, piuttosto che bottom-up, in tal modo in evoluzione un'API pulita in strati distinti. Trovo che TDD è meno efficace a questo, perché si concentra troppo sul fare il minimo indispensabile per ottenere una prova da superare e incoraggia design poco up-front. Trovo anche che dover mantenere una suite di test di unità per il codice instabile (il codice che è costantemente refactoring) è abbastanza difficile, perché è tipicamente il caso che si dispone di un test dozzina di unità per una routine che è necessaria solo una o due volte. Quando si esegue refactoring - modificare una firma del metodo, per esempio - la maggior parte del lavoro che fate è nell'aggiornamento delle prove piuttosto che il codice prod. Io preferisco l'aggiunta di test di unità dopo il codice di un componente si è stabilizzata un po '.
La mia domanda è - di coloro che hanno provato entrambi gli approcci, quale preferisci?













