2010-11-02 11 views
10

Ho appena iniziato a documentare un'applicazione di rotaie. So che questo è in realtà fatto da rdoc, quindi ho seguito alcune guide rdoc riguardo la sintassi e così via, ma mi sono bloccato quando ho provato a descrivere gli attributi di modelli, convalide e la relazione tra i modelli, principalmente perché queste cose fanno parte di ActiveRecord. Quindi mi chiedo se c'è qualche guida o una buona pratica su come documentare un'applicazione di rotaia o se c'è qualcosa che mi manca?Come documentare un'applicazione di rotaia?

So che potrei inserire tutto questo nella descrizione della classe, ma mi chiedo se c'è un modo più strettamente legato alla dichiarazione stessa (has_many, validates_presence_of, ecc.) E per quanto riguarda gli attributi?

risposta

3

Personalmente preferisco YARD - http://yardoc.org, come fa un lavoro migliore nel documentare IMHO. Non so se è disponibile un gestore specifico per Rails, ma è abbastanza facile scriverne uno - http://yardoc.org/guides/extending-yard/writing-handlers.html Un buon esempio potrebbe essere il gestore di attributi - parte della gemma del cantiere: lib/yard/handler/ruby ​​/ attribute_handler .rb

+0

Penso che questo sia un approccio molto iterestivo, penso che l'unico problema è che sembra ancora un po 'giovane e ha una curva di apprendimento più pronunciata di quanto mi aspettassi, tuttavia penso che abbia un po' di potenzialità. Ho persino iniziato ad immaginare alcune caratteristiche interessanti, come ad esempio alimentare il database con la documentazione delle migrazioni e quindi ottenere quella documentazione nel generatore, in questo modo è possibile uccidere due piccioni con una fava, la documentazione dell'applicazione e la documentazione del database. – ramontiveros

2

Ricordare che i test fanno parte della documentazione (per gli sviluppatori), in particolare se si utilizza Cucumber in cui gli scenari sono facili da leggere. Se si mantengono i metodi molto brevi e esiste un metodo di prova con un nome descrittivo, ad es. "dovrebbe impostare il nome degli utenti" Trovo che in genere non ho bisogno di commenti sul metodo.

Validazioni o altre parti di Rails Non vorrei documentare. Parte dell'essere uno sviluppatore di Rails è capire come funzionano, penso che sia un buon presupposto che un altro manutentore del tuo codice che lo legge lungo la strada conoscerà le convalide o altre cose incorporate in Rails. Con la stessa logica, se puoi usare le caratteristiche del framework o dei percorsi felici (non deviare molto) con il codice di terze parti [documentato], molto della documentazione verrà scritta per te.

+0

Mi piace questo approccio, per il team di sviluppo che penso funzionerà, ma in alcuni casi è necessario un documento effettivamente, un documento che potrebbe non essere utilizzato rigorosamente per uno sviluppatore, ma da un ragazzo a cui in realtà non interessa test (e non devono). – ramontiveros

+0

D'altra parte, le convalide non sono sempre facili da interpretare, anche per un programmatore, per esempio nella mia aplicazione ho qualche convalida per alcuni attributi numerici che devono essere compresi tra -180 e 180. Questo perché questo attributo rappresenta un valore di latitudine e questi valori possono essere solo in questo intervallo. E questo è solo facile, ho altre convalide che includono relazioni e restrizioni più astratte, che anche quando ho letto di nuovo il codice non è chiaro alla prima volta. – ramontiveros