Quindi, lavoro come sviluppatore. Siamo una piccola squadra. La maggior parte delle persone (tutti tranne il project manager e lo sviluppatore senior) sono ancora all'università. Abbiamo orari di lavoro molto flessibili, a volte non vedo alcune persone per 3-4 giorni.
Puoi immaginare che la comunicazione sia la chiave qui. Scriviamo molte e-mail e usiamo un sistema di tracciamento dei bug e finché sei in qualche modo connesso al compito puoi essere ben informato. (finché leggi tutta la corrispondenza).
Uno dei punti deboli del team è la documentazione che le persone lasciano. Il codice è ragionevolmente ben scritto e finché si prende il tempo di leggerlo nella sua interezza lo capirai. (problema: questo in genere richiede un po 'di tempo quando si affrontano i moduli di un paio di migliaia di righe di codice) Nota: esiste una buona documentazione per gli utenti che viene scritta dagli utenti finali, tuttavia stiamo discutendo la documentazione condivisa tra i programmatori.
Quando una nuova persona deve inserire alcune delle cose su cui sta lavorando una parte del team, o quando qualcuno deve modificare il vecchio codice o il vecchio codice di qualcuno, le cose diventano un po 'complicate. Come ho detto prima a volte non ci vediamo per giorni così a meno che il project manager non sappia (e ricorda) i dettagli del codice che il newcommer avrà le seguenti opzioni:
1 Leggi l'origine
2 Leggi le vecchie e-mail con le discussioni.
Quando devi rifattorizzare pezzi grandi del codice Questo va bene (specialmente la prima cosa) comunque quando un algoritmo deve essere cambiato o qualcuno deve solo usare un vecchio modulo come parte di un nuovo modulo o script o qualunque cosa tu possa immagina che in attesa di incontrare il ragazzo che ha creato il modulo o di leggere tonnellate di email perdere tempo .
Ho iniziato ad aggiungere una piccola documentazione all'inizio di ogni modulo. Consiste di:
- 2-3 frasi su cosa fa il modulo
- Un po 'di informazioni per ogni funzione che non fa parte di un'altra funzione. Fondamentalmente quello che fa e alcune informazioni specifiche sugli argomenti che assume se gli argomenti sono oggetti. Se non lo sono, scrivo solo "guarda il sorgente per ulteriori informazioni sugli argomenti"
Poiché non so se sono sulla strada giusta, la domanda è semplice: cosa dovrebbe contenere una documentazione così minima in modo da poter dare un'idea generale di cosa fa il modulo e di come la gente può usarlo?