Sì in modo definitivo MA:
-
Link rot sta per essere un problema, Idealmente generare il collegamento dinamicamente da un documento di destinazione noto ma ottenere il prefisso da una qualche forma di configurazione. Se il server cambia, puoi mantenere valido il vecchio codice aggiornando questo elemento di configurazione. Puoi anche rendere disponibile localmente il documento anche modificando questa configurazione di prefisso.
-
Versioning : nello stesso spirito, se è possibile includere il controllo delle versioni nel collegamento in una certa capacità in modo che il collegamento rimandi sempre alla versione corretta della documentazione.
-
Rendi modificabile il documento Qualcosa come un sito di tipo wiki per la tua documentazione in cui puoi correggere in modo dinamico gli errori, idealmente anche consentire agli utenti di commentare direttamente sulla pagina. questo renderà molto più facile per i tuoi utenti partecipare e trovare ciò di cui hanno bisogno e otterrai informazioni d'oro per mantenere il tuo documento in buone condizioni di lavoro ma assicurati di monitorarlo regolarmente e soprattutto partecipare attivamente a se stessi.
-
Modelli generati fai in modo che il tuo sistema di generazione generi direttamente il modello di base per la documentazione dalle annotazioni nel codice. Mantenerlo semplice, ma questo garantirà che ogni link punti sempre a una documentazione valida. Se usi una wiki, assicurati di poter spingere questi modelli facilmente, e assicurati di poter promuovere il sito della documentazione nello stesso modo in cui lo fai per il tuo codice (hai un sito di sviluppo diverso dal sito di produzione e promuovi codice per prod eseguire gli inserimenti nel sito prod automaticamente).
Se sviluppi con Java o .NET, il documento potrebbe essere incluso in un file jar o in un file DLL e cambiando il prefisso il tuo codice potrebbe recuperarlo localmente.
Se scegli l'approccio wiki, raccomando vivamente DokuWiki per la sua semplicità e per il fatto che si basa su un testo piatto file che renderebbero molto facile l'iniezione automatica dal sistema di build. Detto questo, non ne so abbastanza del tuo ambiente o dei tuoi clienti per sapere se questo potrebbe essere un buon YMMV.
Alcuni degli strumenti di maggior successo che ho creato hanno adottato un approccio simile in cui il messaggio di errore è stato indirizzato all'utente reale che avrebbe probabilmente eseguito l'attività. Ciò significava che dovevo fare un sacco di eccezioni catching e wrapping per assicurarmi che l'errore fosse al livello appropriato di astrazione. Mi sono anche assicurato che ogni messaggio di errore includesse le fonti più probabili di errori e indicasse le potenziali soluzioni "Hai dimenticato di impostare il valore di configurazione xxxx?", "Assicurati che xxx e yyy non siano in conflitto dando loro nomi diversi" ecc. Dove XXX e whatnot verrebbero generati dal contesto in cui si è verificato l'errore.
Questo approccio era un po 'più semplice ma anche più limitato. Aveva tuttavia il vantaggio che la documentazione fosse sempre presente quando non era necessario alcun collegamento.
Il tuo approccio è la prossima evoluzione. Molto più complesso, ma ha anche molti più potenziali rendimenti. Sarà costoso, ma se fatto bene, si ripaga facilmente da solo.