Scrivere prima la documentazione completa del codice è probabilmente eccessivo e in qualche modo ricorda la metodologia a cascata. Tuttavia, ho scoperto che un approccio più pragmatico sta scrivendo prima il README . Ecco perché:
Il file README non documenta tutti i dettagli del progetto. Al contrario, contiene in genere le seguenti informazioni:
- Descrizione : breve "piazzola di vendita". Spiega al lettore perché dovrebbero continuare a leggere.
- Esempi rapidi : frammenti di codice breve o schermate per supportare la descrizione.
- Avvio rapido : come iniziare, istruzioni per l'installazione e altri esempi.
- Ulteriore documentazione : collegamenti a documenti completi e maggiori informazioni.
- Organizzazione del progetto : chi sono gli autori, come contribuire, come archiviare i bug.
- Note legali : licenza, copyright e altri dettagli legali.
Scrivere in anticipo il "passo delle vendite" mi costringe a essere chiarissimo sul perché questo progetto dovrebbe esistere e perché gli sviluppatori dovrebbero usarlo. Il semplice atto di scrivere frasi complete per descrivere il progetto spesso lo modifica in meglio: lo capisci meglio, sviluppi nuove idee e scopri potenziali problemi. È anche un ottimo strumento di definizione delle priorità: qualsiasi cosa nel "campo vendite" è un must!
I "esempi rapidi" e la "guida rapida" mi costringono a pensare ai casi d'uso chiave dal punto di vista dell'utente. Ho scoperto che farlo prima di scrivere qualsiasi codice - prima di impantanarsi nei dettagli di implementazione e scadenze strette - porta a API e progetti molto più puliti. Ricorda: i programmi dovrebbero essere scritti per essere letti dalle persone e solo per inciso per l'esecuzione delle macchine ( SICP ).
In "ulteriore documentazione", creo uno schema dei pezzi che necessiteranno di una documentazione dettagliata, da eseguire in seguito. "Organizzazione del progetto" mi permette di capire chi lavorerà sul progetto e le pratiche di codifica. "Note legali" ... beh, potrebbero anche toglierle di mezzo.
Una volta installato questo README di base, è disponibile un documento utile per la discussione, le revisioni del progetto, la divisione del lavoro e la pianificazione del progetto. Mentre lavori al progetto, controlla spesso con il README per assicurarti di essere ancora sulla buona strada. Inoltre, l'aggiornamento graduale del file README e della "ulteriore documentazione" man mano che procedi significa che tutta la documentazione verrà eseguita al termine del codice, il che è un'esperienza molto più piacevole rispetto alla necessità di affrettarsi a documentare tutto all'ultimo minuto.
Per maggiori informazioni, controlla quanto segue:
- Sviluppo guidato dal readme
- Il codice più importante non è il codice
- Sei ciò che documenti