Lorsque je travaille sur du code, je suis confronté à bon nombre des mêmes problèmes que mes coéquipiers. J'ai également écrit des fonctions et des classes utiles. S'il y a une bonne communication, j'entendrai parler d'une bonne chose, mais six mois plus tard, quand j'en aurai besoin, je me souviendrai peut-être et j'appellerai cette fonction, ce qui me fera gagner du temps. Si je ne m'en souviens pas ou si je n'en ai jamais entendu parler, je réinventerai probablement la roue.
Existe-t-il une pratique particulière consistant à documenter ce genre de choses? Comment les rendez-vous faciles à trouver?
Si votre équipe ne dispose pas de cette documentation, comment savoir si votre roue existe déjà?
MODIFIER:
À ce jour, toutes les réponses sauf une concernent une situation idéale; laissez-moi donc résumer ces solutions: documentation et communication; wikis, réunions stand-up, etc. Ce sont toutes d'excellentes choses, mais elles reposent sur le fait que les programmeurs ont le temps (et les compétences) nécessaires pour rédiger la documentation, assister aux réunions, prendre des notes et tout mémoriser.
La réponse la plus populaire à ce jour (Caleb) est la seule qui puisse être utilisée par un programmeur incapable de documentation et de réunion et ne faisant qu'une chose: la programmation. La programmation est ce que fait un programmeur, et oui, un grand programmeur peut écrire de la documentation, des tests unitaires, etc., mais soyons honnêtes - la plupart d’entre nous préfèrent la programmation à la documentation. Sa solution en est une où le programmeur reconnaît le code réutilisable et l'extrait dans sa propre classe, son référentiel ou autre, et par le fait qu'il est isolé, il devient trouvable et facilite la courbe d'apprentissage pour l'utiliser ... . et cela a été accompli par la programmation.
D'une certaine manière, je le vois comme ceci: je viens d'écrire trois fonctions et il me semble que quelqu'un d'autre devrait les connaître. Je pourrais les documenter, les écrire, les annoncer lors d'une réunion, etc. - ce que je peux faire, mais ce n'est pas ma force - ou ... Je peux les extraire en classe, les nommer bien, les faire fonctionner comme une boîte noire, et collez-le là où les autres fichiers de classe vont. Ensuite, un bref courriel l’annonçant est facile. D'autres développeurs peuvent analyser le code et le comprendre mieux qu'une fonction isolée utilisée dans du code qu'ils ne comprennent pas complètement - ce contexte est supprimé.
J'aime cela parce que cela signifie que disposer d'un ensemble de fichiers de classe bien nommés, avec des méthodes bien nommées, est une bonne solution qui nécessite une bonne programmation. Il ne nécessite pas de réunion et réduit le besoin de documentation détaillée.
Y at-il d'autres idées dans ce sens ... pour les développeurs isolés et pressés par le temps?