Non conosco altri ambienti, ma quando si tratta di grandi progetti PHP (spesso open source) che altri hanno scritto, phpXRef è un vero salvavita (specialmente se il documento viene messo online e Google può indicizzarlo).
Anche un progetto mal commentato può almeno aiutarmi a rintracciare dove sono state definite le cose e dove vengono utilizzate (ad esempio durante il refactoring).
Se ben commentate, le pagine risultanti si avvicinano a una Bibbia perfetta per la base di codice (per i miei usi comunque).
Inoltre, il mio IDE preferito genererà automaticamente il blocco di commenti (se digito / **) che esegue circa il 75% del lavoro di commento per me. È incredibile quante cose stupide mi hanno impedito di commettere durante la mia vita da programmatore solo perché ho dovuto spiegare ad altre persone (e futuro me) cosa sto facendo. Quando il mio commento per il generatore di documenti è più grande del metodo, questo di solito significa che non ho avuto abbastanza caffè e potrei voler pensare un po 'di più.
Questi stessi blocchi di commenti creano anche il testo di "aiuto" di completamento in linea in modo che io possa vedere esattamente cosa ci si aspettava (dagli altri programmatori) mentre scrivo la chiamata di funzione. Questo è un enorme aumento della produttività per me (specialmente in quei rari casi limite in cui qualche altro utile sviluppatore ha scritto "per l'amor del cielo do / do-not X" - che può risparmiare molto dolore.
Non posso sottolineare abbastanza quanto sia utile avere i tipi di input previsti specificati in progetti PHP complessi (e spesso mal nominati) e l'ordine degli argomenti in metodi usati meno frequentemente. Anche con il mio codice, non riesco sempre a ricordare quali argomenti ho specificato per qualcosa che non ho toccato in un'epoca.
In un caso significava che la fonte dei problemi ricorrenti era che, per qualche motivo che si rifletteva male sugli sviluppatori precedenti, alcune funzioni e persino costanti erano definite in un numero enorme di posti (con un certo grado di incoerenza per aggiungere "divertimento") . Questo era il segno di allontanarsi dal progetto.
Nei progetti più grandi avviati prima dell'adesione, posso vedere quale sviluppatore (supponendo che abbiano taggato il file di classe con un nome e un'e-mail) ha creato la classe e semplicemente essere in grado di trovare e parlare con lo sviluppatore giusto è estremamente utile.
Elenchi di attività automatiche: l'utilizzo del tag @todo (comune nel tipo di progetti in cui mi trovo a lavorare) significa che la documentazione può tenere traccia delle cose che richiedono un po 'più di lavoro (o funzioni che sono riconosciute mancanti). Ancora una volta il mio IDE tiene traccia di questo e che da solo funge da buona guida su ciò che richiede prima la mia attenzione.
Infine (e molto importante per me) rimuove il sovraccarico non banale di scrivere tutto questo e quindi cercare di tenerlo aggiornato quando alcuni (leggi molti) programmatori commettono modifiche e non parlano con i manutentori della documentazione.
Quindi, i motivi includono:
- Risparmiare agli sviluppatori successivi un sacco di tempo,
- Tenere traccia di dove vengono chiamate (e definite) le funzioni,
- Individuazione di codici stupidi,
- Trovare (come un altro ha sottolineato) quando manca qualcosa,
- Semplificazione del refactoring (mai molto divertente)
- (In molti casi) avere un'idea di ciò che lo sviluppatore stava cercando di fare (supponendo che avesse lasciato delle note).
- Se il progetto è abbastanza complesso da avere più licenze in corso (non è divertente) posso vedere rapidamente quali licenze si applicano a una determinata sezione. Certo, questo è un bonus laterale.
- Avere un'idea di con chi parlare di un file di progetto.
- Elenchi di attività automatiche
Inoltre, non sottovalutare il valore di rendere felici i boss con i capelli a punta con il semplice tocco di un pulsante.
In breve, i "commenti sulla documentazione automatica" sono fondamentali per le mie abitudini di programmazione. Sono sicuro che ci sono molti che pensano che sia zoppo, ma sono anche altrettanto sicuro che ci sono poche persone che sanno esattamente cosa sto dicendo. Non so come sono sopravvissuto prima di scoprire phpXRef (e il mio IDE preferito).