Scrivere la documentazione del codice completa prima è probabilmente eccessivo e ricorda in qualche modo la metodologia waterfall. Tuttavia, ho trovato che un approccio più pragmatico è la scrittura del README prima. Ecco perché:
Il README non documenta ogni dettaglio del tuo progetto. Invece, contiene in genere le seguenti informazioni:
-
Descrizione : breve "tono di vendita". Dì al lettore perché dovrebbero continuare a leggere.
-
Esempi rapidi : snippet di codice breve o schermate per supportare la descrizione.
-
Guida rapida : come iniziare, installare istruzioni e altri esempi.
-
Ulteriore documentazione : link ai documenti completi e ulteriori 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 consente di essere chiaro sul perché questo progetto dovrebbe esistere e sul perché gli sviluppatori dovrebbero usarlo. Il semplice atto di scrivere frasi complete per descrivere il progetto spesso lo cambia in meglio: lo capisci meglio, sviluppi nuove idee e scopri potenziali problemi. È anche un ottimo strumento per la definizione delle priorità: qualsiasi cosa nel "passo delle vendite" è un must!
Gli "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 essere impantanato nei dettagli di implementazione e in scadenze ravvicinate - porta a API e design molto più puliti. Ricorda: i programmi devono essere scritti affinché le persone possano leggere, e solo incidentalmente per le macchine da eseguire ( SICP ).
In "ulteriore documentazione", creo una descrizione dei pezzi che necessiteranno di documentazione dettagliata, da eseguire in seguito. "L'organizzazione del progetto" mi permette di capire chi lavorerà al progetto e alle pratiche di codifica. "Note legali" ... beh, potrebbe anche metterli fuori strada.
Una volta che hai installato questo README di base, hai un documento utile per la discussione, le revisioni dei progetti, la suddivisione del lavoro e la pianificazione del progetto. Mentre lavori al progetto, controlla spesso con il README per assicurarti di essere ancora in pista. Inoltre, aggiornando in modo incrementale il README e la "ulteriore documentazione" come si fa, significa che tutti la documentazione verrà eseguita al termine del codice, che è un'esperienza molto più piacevole rispetto alla necessità di documentare tutto all'ultimo minuto.
Per maggiori informazioni, controlla quanto segue:
- Sviluppo guidato da Readme
- Il codice più importante non è il codice
- Sei ciò che documenta