For de som ikke har lest Code Complete 2, er den pseudoprogrammer utgangspunktet en måte å designe en rutine ved å beskrive det i vanlig engelsk først, deretter gradvis revidere det til mer detaljerte pseudokode, og til slutt til koden. Den viktigste fordelen med dette er å hjelpe deg å holde på rett abstraksjonsnivå ved å bygge systemer top-down stedet for bottom-up, og dermed utvikler en ren API i forskjellige lag. Jeg finner at TDD er mindre effektive på dette, fordi det fokuserer for mye på å gjøre minimum for å få en test for å passere, og oppfordrer lite up-front design. Jeg synes også at det å ha for å opprettholde en pakke med enhet tester for ustabil kode (kode som stadig blir refactored) er ganske vanskelig, fordi det er vanligvis slik at du har et dusin enhet tester for en rutine som bare er nødvendig for en eller to ganger. Når du gjør Refactor - endre en metode signatur, for eksempel - det meste av arbeidet du gjør er å oppdatere testene i stedet for prod kode. Jeg foretrekker å tilsette enhet tester etter en komponent kode har stabilisert seg litt.
Mitt spørsmål er - av dem som har prøvd begge tilnærminger, som foretrekker du?













