Al trabajar en el código, me enfrento a muchos de los mismos desafíos que hacen mis compañeros, y he escrito algunas funciones y clases útiles, y también lo han hecho. Si hay una buena comunicación, oiré algo importante que alguien haya hecho, y seis meses más tarde, cuando lo necesite, lo recordaré y llamaré a esa función, ahorrándome tiempo. Si no lo recuerdo, o si nunca lo supe, probablemente reinventaría la rueda.
¿Existe una práctica particular de documentar este tipo de cosas? ¿Cómo hacer que sean fáciles de encontrar?
Si su equipo no tiene dicha documentación, ¿cómo puede saber si su rueda ya existe?
EDIT:
Todas las respuestas, excepto una, se refieren a una situación ideal, así que permítanme resumir esas soluciones: documentación & comunicación; wikis, reuniones de pie, etc. Esas son cosas muy buenas, pero dependen de que los programadores tengan el tiempo (y las habilidades) para redactar la documentación y asistir a las reuniones, tomar notas y recordar todo.
La respuesta más popular hasta ahora (Caleb's) es la única que podría ser utilizada por un programador que no puede documentar y asistir a reuniones, y que solo hace una cosa: la programación. Programar es lo que hace un programador, y sí, un gran programador puede redactar documentación, pruebas unitarias, etc., pero seamos realistas: la mayoría de nosotros preferimos programar a documentar. Su solución es una en la que el programador reconoce el código reutilizable y lo saca a su propia clase o repositorio o lo que sea, y por el hecho de que está aislado, se puede encontrar y facilita el aprendizaje. curva para usarlo ... y esto se logró mediante la programación.
En cierto modo lo veo así: acabo de escribir tres funciones, y se me ocurre que alguien más debería conocerlas. Podría documentarlos, escribirlos, anunciarlos en una reunión, etc., lo que puedo hacer, pero no es mi fuerza, o ... puedo extraerlos a una clase, nombrarlos bien, hacer que funcionen como una caja negra, y péguela donde vayan otros archivos de clase. A continuación, un breve correo electrónico anunciando que es fácil. Otros desarrolladores pueden escanear el código y entenderlo mejor que una función aislada que se usa en un código que no comprenden completamente: ese contexto se elimina.
Me gusta esto porque significa que tener un conjunto de archivos de clase con nombre, con métodos con nombre, es una buena solución que se logra con una buena programación. No requiere reuniones y suaviza la necesidad de documentación detallada.
¿Hay más ideas en este sentido ... para desarrolladores aislados y presionados por el tiempo?