Everything old is new again. The folks who brought us the eXtreme Programming books were, among other things, promoting a set of best practices in software development. One of them, which they termed “Programming by Intention”, was not actually new, but was something that had been a very common coding technique in languages like COBOL and Smalltalk (usually called “top down” programming) years before.
(dall'introduzione di Programmazione per intenzione )
La programmazione per intenzione sembra essere una riscoperta di top down programming dove si inizia con strato superiore e scende da lì.
Questo è il modo in cui il codice è stato scritto ai tempi di Pascal e dei suoi contemporanei. Hai iniziato a scrivere la procedura principale (che si trovava alla fine del file, per necessità della definizione del linguaggio e del compilatore) e poi scrivi una procedura o una funzione, che era quindi collocata prima del codice che la chiamava.
Questo è in contrasto con il modello "bottom up design" che OO enfatizza: costruisci prima i blocchi predefiniti e poi li costruisci da lì.
Sarebbe un equivoco e un'applicazione errata della Programmazione per Intenzione usarla per porre una struttura strutturale al codice. A meno che la lingua lo definisca (a la pascal), non importa quale ordine i metodi siano dichiarati. La leggibilità (e la coerenza tra i programmatori) è la chiave.
Con gli IDE moderni, è possibile visualizzare rapidamente e facilmente il profilo del codice. Premendo F3 in eclissi si aprirà la definizione di una chiamata al metodo, indipendentemente da dove si trovi nel codice. In questa misura, l'organizzazione dei metodi non è importante. Se c'è un ordine usa la seguente linea guida:
- Programma all'interno dei vincoli di lingua.
- Programma all'interno delle convenzioni linguistiche.
- Programma all'interno dei vincoli di stile del team.
- Programma in modo coerente.
Se ordini prima dall'alto o dal basso verso l'alto o la profondità o prima il respiro o in ordine alfabetico, fallo. E rimani fedele.