Die Art meines Jobs ist, dass ich alle paar Wochen zwischen Projekten hin und her wechseln muss. Ich finde, dass eines der größten Hindernisse für meine Produktivität die Hochlaufzeit ist, um alle relevanten Codeteile wieder "in meinem Kopf" zu haben, nachdem ich sie eine Zeit lang nicht gesehen habe. Dies geschieht in immer kleinerem Umfang für kürzere Pausen / längere Pausen.
Gutes Design, Dokumentation, Kommentierung und physische Struktur helfen dabei (ganz zu schweigen davon, dass so selten wie möglich zwischen Projekten gewechselt wird). Aber ich frage mich, ob es Praktiken / Werkzeuge gibt, die ich möglicherweise verpasse. Was sind Ihre spezifischen Praktiken, um dies zu verbessern?
Ein paar Dinge, die helfen:
quelle
Ich mache etwas Ähnliches wie RonE.
Ein leicht lesbares Projekt mit einem guten Design hilft, aber bevor Sie ein Projekt verlassen, stellen Sie sicher, dass alle Kontexte und Informationen, die Sie in Ihrem Kopf haben, irgendwo geschrieben oder gespeichert sind. Zum Beispiel Notizen zu den Bibliotheksfunktionen von Drittanbietern, die Sie verwendet haben, wenn es sich um eine neue handelt, die Sie noch nie zuvor verwendet haben. Ich schreibe immer Notizen über die Dinge, die ich lerne oder denke, in meinen eigenen Worten.
Außerdem finde ich es am wichtigsten, in eine Datei zu schreiben, wenn Sie TODO-Kommentare in Ihren Code schreiben, den letzten, an dem Sie gearbeitet haben, kopieren, in eine neue Textdatei einfügen und als TODO bezeichnen. Schreiben Sie in den Kontext Informationen darüber, wo das TODO-Tag hingehört, und schreiben Sie, was Sie vorhatten oder was Sie über diese Aufgabe wissen möchten.
quelle
Zwei Dinge waren für mich entscheidend: Konsistenz und Spezifikation.
Konsistenz ist der Schlüssel für Code. Ich muss mich nicht daran erinnern, wo sich alles befindet und wie alles zusammenwirkt, wenn ich extrapolieren kann, was ich getan hätte. Wenn es ein Projekt mit anderen ist, das problematischer wird, aber Codestandards ziemlich viel helfen. Wenn Sie wissen, was etwas ist, indem Sie es betrachten und einige sichere Annahmen treffen, verkürzt sich die Einstiegszeit ein wenig.
Die Spezifikation ist für das Design hilfreicher. Zumindest für mich finde ich, dass ich nach einer Pause dazu neige, einige der Nuancen des Produktdesigns zu vergessen. Oder wenn ich zurückkomme, ist es wegen dieser großartigen Idee, dass sich das Feature sofort in das Projekt einschleicht. Wenn Ihr Projekt keine guten Anforderungen hat (entweder in einer Wasserfall-Spezifikation oder in einem Produkt-Backlog), müssen Sie diese jedes Mal neu erfinden, wenn Sie zum Projekt zurückkehren. Fast alle Best Practices für die Softwareentwicklung sind immer noch Best Practices, wenn es sich um ein persönliches Projekt handelt. Sparen Sie nicht an ihnen.
quelle
Die Schlüssel-IMO ist eine intelligente API für jedes Ihrer Projekte. Wenn Sie den Code auch in ein Repository wie GIT oder andere hochladen, können Sie Ihre Commits zum Code "zeitreisen" .
quelle
Da ich für mehrere Kunden Entwicklungs- und Produktionsunterstützung mache, wechsle ich mehrmals täglich die Projekte. Die beiden Dinge, die mir am meisten helfen, sind, niemals ein Projekt zu verlassen, bis ich alles gespeichert habe (und mich zu einem lokalen Zweig zu verpflichten, wenn es nicht in dem Zustand ist, in dem ich es wieder in den Hauptzweig meiner Quellcodeverwaltung zurückversetzen möchte) und ich Setzen Sie einen Haltepunkt an der Stelle, an der ich aufgehört habe. Nur in der Lage zu sein, schnell die genaue Linie zu finden, an der ich aufgehört habe, hilft mir, viel schneller wieder in Schwung zu kommen. Ich neige auch dazu, für jedes größere Projekt eine Aufgabenliste zu erstellen und die Dinge zu überprüfen, sobald sie erledigt sind. Eine kurze Überprüfung zeigt mir, wo ich mich ebenfalls befinde, und erinnert mich an meinen Denkprozess im Projekt. Im Allgemeinen schreibe ich mir auch eine kurze Notiz über Dinge, über die ich nachgedacht habe, die ich aber noch nicht getan habe, wenn ich muss (Dinge wie:
quelle