Quando si lavora sul codice, affronterò molte delle stesse sfide che i miei compagni di squadra fanno, e ho scritto alcune funzioni e classi utili, e così anche loro. Se c'è una buona comunicazione, sentirò parlare di una cosa grandiosa che qualcuno ha messo insieme, e sei mesi dopo, quando ne ho bisogno, potrei ricordarlo e chiamare quella funzione, risparmiando tempo. Se non lo ricordo, o non lo sapessi mai, probabilmente reinventerò la ruota.
C'è una particolare pratica nel documentare questo tipo di cose? Come puoi renderli facili da trovare?
Se la tua squadra non ha tale documentazione, come fai a sapere se la tua ruota esiste già?
Modifica
Tutte tranne una delle risposte finora si occupa di una situazione ideale, quindi riassumiamo queste soluzioni: documentazione e amp; comunicazione; wiki, incontri di stand-up, ecc. Sono tutte cose grandiose, ma si basano su programmatori che hanno il tempo (e le competenze) per scrivere la documentazione e partecipare alle riunioni e prendere appunti e ricordare tutto.
La risposta più popolare finora (Caleb's) è l'unica che potrebbe essere utilizzata da un programmatore che è incapace di documentazione e riunioni, e fa solo una cosa: la programmazione. La programmazione è ciò che fa un programmatore, e sì, un grande programmatore può scrivere documentazione, test unitari, ecc., Ma ammettiamolo: la maggior parte di noi preferisce la programmazione alla documentazione. La sua soluzione è quella in cui il programmatore riconosce il codice riutilizzabile e lo estrae alla propria classe o repository o qualsiasi altra cosa, e dal fatto che è isolato, diventa reperibile e facilita l'apprendimento curva per usarlo .... e questo è stato realizzato dalla programmazione.
In un certo senso la vedo così: ho appena scritto tre funzioni e mi viene in mente che qualcun altro dovrebbe saperlo. Potrei documentarli, scriverli, annunciarli in una riunione, ecc. - cosa che posso fare, ma non è la mia forza - o ... Posso estrarli in una classe, nominarla bene, farli funzionare come una scatola nera e incollala dove vanno gli altri file di classe. Quindi una breve e-mail che annuncia è facile. Altri sviluppatori possono eseguire la scansione del codice e comprenderlo meglio di quanto non possa utilizzare una funzione isolata nel codice che non comprendono appieno - tale contesto viene rimosso.
Mi piace perché significa che avere una serie di file di classi ben definiti, con metodi ben denominati, è una buona soluzione che si ottiene con una buona programmazione. Non richiede riunioni e riduce la necessità di una documentazione dettagliata.
Ci sono altre idee in questo senso ... per sviluppatori isolati e con pressioni temporali?