Was sind Best Practices beim häufigen Wechseln zwischen Projekten / Zurückkehren zu Projekten?

8

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?

dj444
quelle

Antworten:

7

Ich wechsle auch häufig zwischen verschiedenen Projekten (sowohl technischen als auch nichttechnischen). Organisation oder "Leichtigkeit des Abrufs" war für mich der Schlüssel. Bevor ich ein Projekt verlasse, stelle ich sicher, dass ich die Dinge in Ordnung bringe, damit ich den Kontext leicht wieder in meinen Kopf bekommen kann. Für mich bedeutet dies, alle relevanten Dinge (Lesezeichen, Dateien, Dokumente, E-Mails usw.) oder Links zu ihnen in einem Ordner abzulegen, damit ich nicht nach Informationsquellen suchen muss.

Eine Sache, mit der ich kürzlich begonnen habe, ist die Verwendung einer virtuellen Maschine für jedes große Projekt. Wenn ich zu einem anderen Projekt wechseln muss, lasse ich alle relevanten Apps geöffnet und setze dann die virtuelle Maschine aus. Wenn ich also wieder zum Projekt wechseln muss, kann ich die VM starten und sie zeigt mir alle Informationen an, die bereits auf dem Bildschirm angezeigt werden.

RonE
quelle
Ordentliche Verwendung von VMs
Marjan Venema
4

Ein paar Dinge, die helfen:

  • Optimieren Sie Ihren Code maximal für Lesbarkeit und Klarheit.
  • Hinterlassen Sie im Code Hinweise und Hinweise in Form von Kommentaren.
  • Folgen Sie KISS und DRY.
  • Seien Sie innerhalb jedes Projekts und projektübergreifend konsistent.
  • Seien Sie religiös in Bezug auf Refactoring.
  • Alles dokumentieren; Betrachten Sie Ihr zukünftiges Selbst als eine andere Person, ohne die Möglichkeit, Ihrem gegenwärtigen Selbst irgendwelche Fragen zu stellen.
  • Vermeiden Sie "cleveren" Code, der Ihre IDE / Ihren Editor beschädigt.
  • Verwenden Sie die Quellcodeverwaltung mit Commit-Nachrichten, die Ihnen mitteilen, wo genau Sie die Dinge hinterlassen haben. Kennzeichnen Sie Versionen, die Sie für versandfähig halten, und streben Sie kurze Zeiträume zwischen versandfähigen Versionen an.
  • Wenn Sie die Programmiersprache auswählen können, wählen Sie eine aus, die Ihnen dabei helfen kann, die Dinge richtig zu machen.
  • Dies ist eine Frage des persönlichen Geschmacks, aber es funktioniert gut für mich, daher empfehle ich es trotzdem: Halten Sie ein einfaches, präzises Textdokument mit anstehenden Aufgaben bereit und aktualisieren Sie es jedes Mal, wenn Sie eine Aufgabe erledigen. Verwenden Sie dieses Dokument auch für Notizen auf Designebene, die nicht in Codekommentare passen. Grundsätzlich sollte dieses Textdokument Ihr gesamtes Design nur in komprimierter Form enthalten (genügend Informationen, die Sie verstehen können, aber kurz genug, um Sie innerhalb von 10 Minuten wieder in den Sattel zu bringen). Ein Bug-Tracker funktioniert auch, aber das Textdokument hat eine Reihe von Vorteilen: Es zwingt Sie dazu, den Flaum zu reduzieren und sich auf das relevante Material zu konzentrieren, und es kann neben dem eigentlichen Code der Quellcodeverwaltung verpflichtet werden, was bedeutet, dass es natürlich gebunden ist SCM-Versionen.
tdammers
quelle
Guter Eintrag. Können Sie klarstellen, ob Sie cleveren Code vermeiden, der Ihre IDE beschädigen kann?
Ozz
1

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.

Adrián Pérez
quelle
0

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.

Telastyn
quelle
0

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" .

drzymala
quelle
0

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:

HLGEM
quelle