Importante : abbiamo nessun problema con la documentazione del codice sorgente . Questo appartiene al normale controllo del codice e viene tenuto aggiornato. Il nostro problema è con la documentazione degli sviluppatori (o, "esterni", se lo desideri), piccoli consigli da blog da programmatori a programmatori che tendono a essere scritti una volta, spesso lasciati indietro.
Utilizziamo un sistema di tipo wiki per produrre documentazione dei programmatori - articoli scritti dai programmatori per i programmatori che descrivono in modo un po 'più dettagliato il funzionamento di un particolare pezzo di codice. Queste pagine wiki di solito includono:
- motivazioni dietro le decisioni di progettazione per parti di API (ad esempio, abbiamo fatto questa cosa brutta perché questa particolare libreria di terze parti vuole che le cose vengano fatte in questo modo, perché questa altra libreria ..., perché ...)
- spiegazione di come affrontiamo particolari compiti comuni (per esempio: visualizzazione di un popup banale, che deve fare riferimento a stili applicativi appropriati, registrarsi nel componente del registro e implementare qualche interfaccia per essere automaticamente "scansionato" da un altro componente)
- buone pratiche (per quanto soggettive, in realtà scriviamo queste cose giù)
- configurazione dell'ambiente, strumenti richiesti e relativa impostazione
In generale, principalmente roba relativa alla scrittura di codice che non si adatta alla normale documentazione del codice a causa delle sue dimensioni e del suo post sul blog / natura simile all'articolo.
Il problema
Per quanto riguarda l'introduzione di questo sistema mi è sembrata una buona idea qualche mese fa, oggi sento che sta causando più problemi di quanti ne risolva. Ad esempio:
- le persone fanno scrivono articoli ... ma una volta modificato il codice, l'aggiornamento del wiki raramente segue
- molti articoli scratch , scritti da qualcuno in fretta e lasciati così
- anche se la richiesta di un articolo di solito proviene dal lead del progetto, non è quasi mai verificata la correttezza / composizione - che a volte si traduce in scarsa qualità
Il solito degrado. Codice cambiato, wiki rimane lo stesso. La prossima volta che qualcuno cerca informazioni, quello che trova di solito è un mucchio di roba obsoleta e di bassa qualità - e si chiede cosa sta succedendo, se le cose che ha trovato sono accurate o (ancora peggio) quali parti di esso sono. E ciò che doveva aiutare, finisce per fare il contrario.
Al momento sembra che le persone siano consapevoli del problema, incluso il lead del progetto, ma a quanto pare nessuno sembra essere preoccupato di fare qualcosa con esso (o ha cose più interessanti da fare).
Il mio pensiero iniziale era quello di buttare tutto nel dimenticatoio (dopo essere stato morso da "consigli" obsoleti per qualche volta di seguito), ma suppongo che potrebbe essere troppo estremo. Alcune informazioni sono degne di nota e buona lettura a volte, ma il problema è sempre lo stesso: come gestisci il suo "up-to-dateness" ? averlo collegato al sorgente codice in qualche modo (quindi quando viene verificata la versione aggiornata del file, all'autore dell'articolo viene notificato che potrebbe dover rivedere il codice / l'articolo)? Avere una persona designata che la "sorveglia" sulle basi quotidiane? Fare pulizie regolari?