In questo momento sto leggendo Code Complete di Steve McConnell e nel capitolo 9 parla del Pseudo Programming Process (PPP).
Da quello che ho capito, il PPP è un modo di programmazione in cui il programmatore scrive prima lo pseudo codice per la routine su cui sta lavorando, quindi lo perfeziona fino al punto in cui praticamente ogni riga di codice pseudo può essere implementata in 1-3 righe di codice, quindi scrive il codice nel linguaggio di programmazione designato e infine lo pseudo codice viene salvato come commenti allo scopo di documentare la routine.
Nel capitolo 9.4 l'autore menziona alternative al PPP, una delle quali è "design by contract". Nella progettazione per contratto, si affermano fondamentalmente le precondizioni e le postcondizioni di ciascuna routine.
Ora perché dovrebbe essere considerata un'alternativa? A me sembra ovvio che dovrei usare entrambe le tecniche contemporaneamente e non scegliere l'una rispetto all'altra.