Wenn ich an Code arbeite, stelle ich mich den gleichen Herausforderungen wie meine Teamkollegen, und ich habe einige hilfreiche Funktionen und Klassen geschrieben, und auch diese. Wenn es eine gute Kommunikation gibt, höre ich von etwas Großartigem, das jemand zusammengestellt hat, und sechs Monate später, wenn ich es brauche, kann ich es mir merken und diese Funktion aufrufen, um mir Zeit zu sparen. Wenn ich mich nicht daran erinnere oder nichts davon wusste, werde ich das Rad wahrscheinlich neu erfinden.
Gibt es eine besondere Praxis, solche Dinge zu dokumentieren? Wie machen Sie sie leicht zu finden?
Wenn Ihr Team keine solchen Unterlagen hat, wie können Sie feststellen, ob Ihr Rad bereits vorhanden ist?
BEARBEITEN:
Alle bis auf eine Antwort beziehen sich auf eine ideale Situation. Lassen Sie mich die folgenden Lösungen zusammenfassen: Dokumentation & Kommunikation; Wikis, Stand-up-Meetings usw. Das sind alles großartige Dinge, aber sie setzen voraus, dass Programmierer die Zeit (und die Fähigkeiten) haben, die Dokumentation zu schreiben, an den Meetings teilzunehmen, sich Notizen zu machen und sich an alles zu erinnern.
Die bisher beliebteste Antwort (Calebs) ist die einzige, die von einem Programmierer verwendet werden kann, der nicht in der Lage ist, Dokumente und Besprechungen zu erstellen, und der nur eines tut: Programmieren. Programmieren ist das, was ein Programmierer tut, und ja, ein großartiger Programmierer kann Dokumentation, Komponententests usw. schreiben, aber seien wir ehrlich - die meisten von uns bevorzugen das Programmieren gegenüber dem Dokumentieren. Seine Lösung ist eine, bei der der Programmierer wiederverwendbaren Code erkennt und in eine eigene Klasse oder ein eigenes Repository abruft oder was auch immer. Durch die Tatsache, dass er isoliert ist, wird er auffindbar und erleichtert die Lernkurve für seine Verwendung. und dies wurde durch Programmierung erreicht.
In gewisser Weise sehe ich das so: Ich habe gerade drei Funktionen geschrieben, und mir fällt ein, dass jemand anderes davon wissen sollte. Ich könnte sie dokumentieren, aufschreiben, bei einem Meeting ankündigen usw. - was ich tun kann, aber es ist nicht meine Stärke - oder ... Ich kann sie in eine Klasse extrahieren, sie gut benennen, sie funktionieren lassen eine schwarze Kiste, und kleben Sie es, wo andere Klassendateien gehen. Dann ist eine kurze E-Mail mit der Ankündigung einfach. Andere Entwickler können den Code scannen und besser verstehen als sie eine isolierte Funktion, die in Code verwendet wird, den sie nicht vollständig verstehen - dieser Kontext wird entfernt.
Ich mag das, weil es bedeutet, dass eine Reihe von gut benannten Klassendateien mit gut benannten Methoden eine gute Lösung ist, die durch gute Programmierung erreicht wird. Es sind keine Besprechungen erforderlich, und es wird weniger detaillierte Dokumentation benötigt.
Gibt es weitere Ideen in diesem Sinne ... für isolierte und zeitgemäße Entwickler?