Wie erinnerst du dich, wo in deinem Code du das nächste Mal weitermachen möchtest? [geschlossen]

18

Wenn Sie die Arbeit an einem Code unterbrechen (sei es, weil Sie an etwas anderem arbeiten oder in den Urlaub fahren müssen oder einfach, weil es das Ende des Tages ist), was ist Ihre bevorzugte Art, sich zu erinnern, wenn Sie das Visual Studio-Projekt schließen Was möchten Sie als nächstes tun, wenn Sie wieder an diesem Code arbeiten?

Setzen Sie ein Visual Studio-Lesezeichen oder schreiben Sie etwas auf // TODO: continue here next time? Vielleicht hast du ein spezielles Etikett wie // NEXT:? Legen Sie eine Notiz auf Ihren Monitor? Verwenden Sie ein cooles Tool oder ein Visual Studio-Plugin, das ich kennen sollte?

Haben Sie einen persönlichen Trick, der Ihnen hilft, die Stelle in Ihrem Code zu finden, an der Sie bei der letzten Arbeit an Ihrem Code aufgehört haben?

Bitbonk
quelle
3
Bei einigen IDEs kann festgelegt werden, dass die zuletzt geöffneten Dateien und die Position zum Scrollen in diesen Dateien gespeichert werden.
FrustratedWithFormsDesigner
8
// HIER GEHEN. (Auch, wer schließt ihre IDE?)
Alex Feinman
2
Vim wird sich merken, wo Sie sich in jeder Datei befunden haben, als er dazu aufgefordert wurde~/.vimrc
alternativ
Eclipse öffnet alle Dateien, die ich beim Schließen geöffnet hatte, an derselben Position. Wenn das nicht hilft, git status git diff` und git logseid eure Freunde.
Ingo
Emacs wird dies tun, wenn Sie "Ort speichern"
Luke Girvin

Antworten:

17

Ich behebe, welche Unit-Tests nicht funktionieren. Wenn sie alle vorbei sind, schreibe ich eine neue.

Kevin Cline
quelle
1
Es lohnt sich, auf die logische Konsequenz hinzuweisen: Das absichtliche Verlassen eines nicht bestandenen Tests am Ende des Tages ist eine gute Möglichkeit, sich daran zu erinnern, woran Sie am nächsten Tag arbeiten wollten ...
Jules
9

Zu Beginn eines jeden Tages habe ich eine Textdatei mit dem Namen Todays Goals.txt, und dann füge ich jeden Tag das Datum so hinzu.

Freitag 25.02.2011 Tore

Dann schreibe ich jedes Projekt auf, an dem ich arbeite, und was ich heute tun oder abschließen muss.

Dann schreibe ich am Ende des Tages Dinge auf, die morgen erledigt werden müssen.

Dieser tägliche Prozess hilft mir, mir genau zu merken, was ich tun muss, und sicherzustellen, dass jeder Tag gut geplant ist.

Crosenblum
quelle
2
Ich mache dasselbe, aber schreibe es einfach mit einem Bleistift auf meinen Notizblock
Zachary K
Ich mache es auch mit einem Notizblock, und jede Woche werde ich die alte Seite los und beginne eine neue.
Konfigurator
1
Ich behalte alle meine Ziele für jeden Tag, gibt mir einen historischen Überblick über die geleistete Arbeit und lasse mich überprüfen, was ich zum Unternehmen beigetragen habe.
Crosenblum
Das Tomboy-Addin "Note of the Day" ist dafür sehr gut geeignet. Sie können eine Vorlage mit einer Überschrift wie "Today's todos" erstellen. Sie können dann jeden Tag beginnen und die Notizen des vorherigen Tages einsehen. live.gnome.org/Tomboy/PluginList
Tim Abell
8

Grundsätzlich vergesse ich nie, woran ich arbeite. Visual Studio öffnet sich ohnehin bei der letzten Datei, an der Sie gearbeitet haben, oder ich schließe Visual Studio überhaupt nicht und schlafe nur im Ruhezustand.

Ich platziere NotImplementedExceptions bei Abstraktionen / Implementierungen, die nicht unbedingt wichtig sind, um weiterzuentwickeln, woran ich gearbeitet habe.

Ich habe viele TODOs in meinem Code platziert, aber nicht wie Sie angegeben haben. Ich platziere sie dort, wo ich weiß, dass eine bestimmte Herangehensweise besser / performanter wäre, aber im Moment nicht notwendig. Dies ist ein guter Hinweis für mich und zukünftige Entwickler, wo Verbesserungspotential besteht.

Mit der Aufgabenliste von Visual Studio können Sie problemlos alle Stellen anzeigen, an denen Sie diese Angaben hinterlassen haben, und Sie können sogar benutzerdefinierte Angaben hinzufügen.

AKTUALISIEREN:

" HACK :" ist auch schön, wenn Sie etwas schreiben, das funktioniert, aber mit dem Sie überhaupt nicht zufrieden sind.

Steven Jeuris
quelle
Aber was ist, wenn Sie die Arbeit an dem Projekt (für längere Zeit) eingestellt haben, weil Sie an einem anderen Projekt arbeiten mussten?
Bitbonk
1
@bitbonk: Ich würde nicht aufhören, an einem Projekt zu arbeiten, mitten in der Implementierung einer bestimmten Funktion. Wahrscheinlich nicht einmal eine Klasse, also gibt es kein "hier".
Steven Jeuris
Glück gehabt! :)
Bitbonk
5

Am Ende eines jeden Tages schreibe ich in mein Arbeitsbuch, was ich an diesem Tag erreicht habe, was ich am nächsten Tag voraussichtlich erreichen werde und was noch zu tun ist.

Zu Beginn eines jeden Tages beziehe ich mich auf meine Notizen aus dem Vorangegangenen, um mich über das zu informieren, was ich tun muss. Dann verbringe ich ein paar Minuten damit, weitere Notizen zu machen, basierend auf dem, was passiert ist, seit ich gegangen bin, um herauszufinden, was ich sonst noch tun muss und welche Prioritäten ich habe.

Ich finde, das hilft mir, mich zu entspannen und am Ende des Tages loszulassen und am Anfang hochzufahren. Wenn es Zeit für jährliche oder vierteljährliche Überprüfungen gibt, muss ich nur in meinem Arbeitsbuch nachlesen, was ich im Überprüfungszeitraum getan habe.

Sparky
quelle
1

In einem der Interviews in "The Masterminds of Programming" (ich denke, es war Guido van Rossum, der Schöpfer von Python) sagte der Befragte, dass er //HIERan der Stelle, an der er das letzte Mal fertig war, einen ähnlichen Kommentar abgegeben habe. "HIER" ist niederländisch (?) Für hier und er wählt es, weil es unwahrscheinlich ist, dass bei der Suche nach dieser Zeichenfolge andere Vorkommen gefunden werden

Anto
quelle
"HIER" (deutsch)
bitbonk 25.02.11
"HIER" auch in Niederländisch, nicht "HEIR"
Steven Jeuris
3
//HIERARCHY DOCUMENTATION...Hoppla!
Mason Wheeler
@Mason: Eine Suche "nur ganzes Wort" vermeidet dieses Problem.
dan04
1

Mein Lieblingsweg ist mit Abstand TDD. Es ist ziemlich offensichtlich, wo Sie sich befinden, wenn Ihre Testsuite ausfällt.

Da TDD jedoch nicht in allen Projekten unterstützt wird, neige ich dazu, den Code mit einem unkommentierten Kommentar darüber zu brechen, wo ich aufgehört habe.

// Some Comment

Becomes Some Comment // Which Produces Some Fatal Error

Dieser schwerwiegende Fehler stellt sicher, dass ich diesen Code nicht unberührt lasse, bevor ich ihn veröffentliche.

Schließlich kann ich immer in meinem VCS nachsehen, was sich seit meinem letzten Commit geändert hat, und so kann ich mir eine gute Vorstellung davon machen, wohin ich als nächstes gehen soll ...

bitsoflogic
quelle
1

Ich benutze zwei sehr ausgefeilte moderne Techniken mit einer sehr steilen Lernkurve:

  • Schalten Sie Ihren Computer nicht aus . Geh einfach nach Hause und am nächsten Morgen siehst du auf dem Bildschirm genau die Stelle, an der du gestern aufgehört hast zu hacken. Das Risiko, Ihren Checkpoint zu verlieren, ist jedoch viel höher, wenn Sie in den Urlaub fahren.
  • Hinterlassen Sie einen Kompilierungsfehler und checken Sie in einen anderen Zweig aus. Ihr C ++ - Code würde also beispielsweise so aussehen:

    for (i=0; i<N; i++){
      int j = i + oh, no, my boss wants me to fix text on the front page!
      why? why should I do it?  Jimmy could have done it faster, but
      of course, my office is closer to the boss', and he doesn't want to
      take longer walks, that lazy fat bastard...
    

    Auf diese Weise wird das Projekt nicht erstellt, wenn Sie Ihren Computer einschalten oder zu dem Zweig zurückkehren, in dem Sie eine aktive Entwicklung durchgeführt haben. Ihr Compiler zeigt die genaue Zeile und Datei an, in der er auf Ihre Rants gestoßen ist.

Diese Techniken haben mir geholfen, den Ort zu erkennen, an dem ich die Entwicklung verlassen habe, und sie basieren auf umfassenden Studien und Erfahrungen vieler Programmierer auf der ganzen Welt. Ich schlage vor, sie auszuprobieren.

P Shved
quelle
1

Dies ist jetzt eine in Visual Studio 2012 integrierte Funktion, mit der Sie Ihren Arbeitsbereich anhalten und fortsetzen können. Durch Anhalten wird ein Schnappschuss Ihrer geöffneten Dateien, Haltepunkte, Überwachungslisten, Arbeitselemente usw. erstellt und durch Fortsetzen wieder hergestellt. Grundsätzlich wird Ihr gesamter Arbeitskontext gespeichert und genau so fortgesetzt, wie Sie ihn verlassen haben.
http://msdn.microsoft.com/en-us/library/ms181403.aspx

Ein kurzes Video mit dieser Funktion finden Sie hier:
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-und-Ultimate-Overview/Visual-Studio-Ultimate-2012-How-to-multi-task- mit-meiner-Arbeit

softveda
quelle
0

Mein derzeit bevorzugter Weg ist der spezielle // NEXT:Tag. Zusammen mit dem TODO Explorer des ReSharper ist es sehr einfach zu entdecken und zu warten.

bitbonk
quelle
0

Ich führe ein Entwicklungsprotokoll für jede Iteration in einem Teilprojekt mit nicht erstellten Dokumenten in Visual Studio. Die letzte Zeile im Protokoll ist immer die nächste Aufgabe.

Ich schließe Visual Studio auch nicht sehr oft, sondern versetze den Computer stattdessen in den Standby-Modus

Steven A. Lowe
quelle
0

Um herauszufinden, worauf ich sofort zurückkommen muss, schreibe ich normalerweise einen Kommentar in:

//TODO: figure out why the widget doesn't unfrob properly

Ich umgebe es mit leeren Linien, und es lenkt meine Aufmerksamkeit leicht, wenn ich es wieder sehe. Für längerfristige Probleme, auf die ich später zurückkommen muss, verwende ich eine Delphi-Compiler-Direktive, mit der Sie beim Kompilieren Nachrichten ausgeben können:

{$MESSAGE WARN 'This method is not yet implemented'}

Ich bin mir nicht sicher, ob andere Sprachen das können ...

Mason Wheeler
quelle
In c erfüllt #error den gleichen Bedarf. Java unterstützt es nicht von Haus aus, aber Sie können Ihrem Projekt eine Anmerkung hinzufügen, die während der Kompilierung verarbeitet wurde: Es ist ein bisschen anstrengend einzurichten, aber relativ einfach zu verwenden, wenn Sie dies getan haben. Ich bin sicher, es gibt ähnliche Ansätze für andere Sprachen ...
Jules
0

TODO-Listen funktionieren nicht, wenn wir über die Rückkehr zu einem Projekt von Monaten zuvor sprechen. Kommentare im Code funktionieren für mich nicht gut, es ist einfach zu einfach zu ignorieren oder sich zu erinnern, ob ich Projekt X vollständig beendet habe oder nicht und zuerst nach Aufgaben suchen sollte. Und wenn Sie ein größeres Team haben, bei dem jede Person ihre eigene TODO-Phrase hat ... ugh.

Da mein Tag mit Update / Merge / Build beginnt, habe ich gelegentlich versucht, einen absichtlichen Kompilierungsfehler in eine Datei zu schreiben (aber nicht einzuchecken). Leider hörte ich damit auf, nachdem ich eine spontane Einlieferung in ein Büro hatte, die eine Demo von etwas sehen wollte, an dem ich in der Woche zuvor gearbeitet hatte. "Hier, lass mich einfach das öffnen ... warte ... was bedeutet das ... ok dann ..."

Also bin ich von diesem Punkt zum Schreiben eines absichtlich fehlgeschlagenen Testfalls übergegangen.

Steve Jackson
quelle
0

Ich lasse Emacs mit dem Code, an dem ich am nächsten Tag gearbeitet habe.

Manchmal schreibe ich eine nicht kompilierbare Notiz in den Code, die mir sagt, was ich als nächstes tun soll.

Für ein wirklich kompliziertes Widget, bei dem ich leicht verwirrt bin, schreibe ich mir Notizen in ein Notizbuch oder als Kommentar.

Paul Nathan
quelle
0

Wenn es nur darum geht, meinen Platz in einer Datei zu behalten, während ich eine Suche verfolge, missbrauche ich manchmal Haltepunkte.

Um über das Wochenende, an dem ich war, den Überblick zu behalten, hinterlasse ich mir eine Notiz mit der Nummer des Bug-Tracker-Problems.

Peter Taylor
quelle
0

Verwenden Sie ein Versionskontrollsystem? Wenn ja, sollten Sie Ihre Änderungen am Ende des Tages festschreiben und im Kommentar beschreiben, was Sie getan haben und was Sie als Nächstes tun müssen. Und wenn nicht, warum bist du dann nicht?

Dima
quelle
2
-1 Verpflichte dich niemals nur, um dich zu verpflichten! Was wäre, wenn Sie nicht mit dem fertig wären, was Sie getan haben? Selbst wenn Sie DVCS verwenden, ist es immer noch ein Ärgernis. Commit basierend auf logischer Änderung, nicht auf Tag.
Alternative
Ich bin mit Respekt anderer Meinung. Sie sollten häufig festlegen. Wenn Sie noch nicht fertig sind, sollten Sie einen temporären Zweig erstellen und diesen festlegen, damit der Stamm nicht unterbrochen wird. Später, wenn Sie fertig sind, führen Sie Ihren Zweig wieder zusammen. Das Festschreiben am Ende des Tages erstellt auch eine Sicherungskopie Ihrer Arbeit, falls Ihr Computer ausfällt.
Dima
Aber was Sie am nächsten Tag sein wollen, ist ein Missbrauch von Commit-Nachrichten. Denken Sie daran, dass diese Nachrichten monatelang ein Protokoll bilden sollen.
Ben Voigt
@Ben Voigt: wie gesagt, wenn du deine arbeit mitten in einer aufgabe beenden musst, dann mache daraus einen eigenen zweig. Dann befindet sich Ihre Festschreibungsnachricht nur in diesem Zweig und nicht in der Hauptleitung. Außerdem ist das, was Sie am nächsten Tag vorhaben, eine sehr gute Beschreibung des aktuellen Status Ihres Codes. Es könnte Monate später nützlich sein.
Dima
0

Ich schließe Visual Studio einfach nicht und versetze Windows am Ende des Tages in den Ruhezustand.

user18513
quelle
0

Ich bin einer der wenigen, die jeden Abend neu starten (immer noch unter Windows XP und ich habe das Gefühl, dass es eine bessere Leistung bringt.), Also erstelle ich eine Outlook-Aufgabe mit einem Erinnerungsset für den nächsten Morgen. Ich kann den Dateinamen, eine Kopie der Codezeile oder eine ausreichende Anzahl von Notizen einfügen, um zu wissen, was ich getan habe.

JeffO
quelle
0

Mehrere Dinge helfen:

  • Ich suche nach dem Text "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", der die Vorteile bietet, die Code nicht ausführen kann (unabhängig davon, ob er kompilierter oder interpretierter Code ist), sodass ich ihn nicht übersehen kann. Außerdem ist dieses Tag dank der Synästhesie für mich leuchtend rot , sodass es selbst in einem großen Codestück sehr leicht zu erkennen ist.

  • Die IDE öffnet die Dateien an der Stelle erneut, an der sie geöffnet waren (und welche Zeilen hervorgehoben / Haltepunkte), sodass ich mich schnell daran erinnern kann, was ich getan habe.

  • Ich kann in meiner Aufgabenliste sehen, welches Problem ich zu lösen versuchte / Feature zu implementieren.

2 Umdrehungen
quelle
+1: Ich habe das absolut geliebt: "Auch dieses Tag ist dank der Synästhesie hellrot für mich ..."
Peter Rowell
0

Da Sie nicht gesagt haben, dass Sie Code benötigen, um sowohl im Debug- als auch im Release-Modus zu kompilieren, ist ein Trick, den ich häufig mache:

#if DEBUG
#error "YOU LEFT OFF HERE"
#endif

Sehr schwer zu vergessen. Andernfalls würde ich eine # Pragma-Warnung in den Code einfügen, damit diese bei jedem Kompilieren angezeigt wird.

Kevin Hsu
quelle
0

Ich benutze mehrere Tricks:

  • Fügen Sie @@ in Codekommentare oder in ein Dokument ein, wenn Sie in der aktuellen Iteration etwas tun möchten, dies jedoch nicht sofort. Kein Code oder Dokument verlässt mein Gerät, wenn es @@ enthält.

  • Diesen einen bestimmten Ort, an dem ich morgen früh weiterarbeiten muss, markiere ich mit @@ HIER. Dies ist selten erforderlich, da meine IDE dort geöffnet wird, wo ich sie früher schließe, und Sie können Word sogar anweisen, dies zu tun .

  • Alle Dinge, die später behoben / hinzugefügt werden sollten, gehen in ein ordnungsgemäßes Fehlerverfolgungssystem oder befinden sich in Konstruktionsdokumenten.

Und sind Sie sicher, dass sich Ihr Visual Studio nicht an den letzten Ort erinnern kann, an dem Sie gearbeitet haben? "Unterbrechen der Arbeit mit Visual Studio 2012" gibt an, dass die Arbeit 2012 ausgeführt werden kann (Google für Visual Studio-Start "abgebrochen" ).

Jan Doggen
quelle