Wie erinnerst du dich an das Programmieren? Hatten Sie das Gefühl, dass Sie vor ein paar Jahren auf den Fehler gestoßen sind, den Sie vor Ihnen hatten, und Sie könnten schwören, dass Sie die Ursache damals kannten, aber jetzt haben Sie sie vergessen?
Haben Sie vor einiger Zeit mit dem String-Parsen von xsl gearbeitet, aber jetzt können Sie sich nicht mehr genau erinnern, welche String-Funktionen insgesamt von xsl sind und Sie müssen von vorne anfangen? Oder vielleicht vergessen Sie einige Funktionen von Apache Commons wie "Filtern einer Sammlung nach einem Prädikat", die Sie in der Vergangenheit sicherlich verwendet haben.
Also, wie machst du das? Ich habe versucht, ein Blog zu haben, aber wenn ich Apps entwickle, finde ich nie die Zeit, das Blog zu aktualisieren oder über meine Erfahrungen zu schreiben. Auch ein Wiki zu benutzen ist eine nette Sache, aber dann fand ich es schwierig, eine saubere Trennung zwischen ihnen zu halten, da ich oft einen Blog-Beitrag ändern musste, um neue Informationen zu diesem Thema hinzuzufügen. Das brachte mich auf den Gedanken, dass ich dieses Thema eigentlich in das Wiki anstelle des Blogs hätte stellen sollen.
Haben Sie Systeme, die Ihnen helfen, sich an Ihre Programmiererfahrung zu erinnern? Was ist dein Setup?
quelle
Antworten:
Dinge zu vergessen ist normal. Es ist auch normal, sich nicht an einige Tricks zu erinnern, die Ihnen in der Vergangenheit geholfen haben. Dies ist der erste Schritt, den man anerkennen sollte. Dann gibt es einige Möglichkeiten, Wissen für eine weitere Überarbeitung zu "speichern":
quelle
Mein Schlüssel ist
Vielfalt
Wiederholung. Einmal kann flüchtig sein. Das 100. Vorkommen zu sehen, macht einen Unterschied!
Erinnerung mit den Fingern . Ich erinnere mich viel besser an Code, als ich ihn tatsächlich ein paar Mal getippt habe.
Codebibliothek - Bewahren Sie eine persönliche Sammlung von Code und Tricks auf, die Sie verwendet und gesehen haben.
Zentralisierung. Ich behalte 1 Datei mit allen meinen Benutzernamen (Hunderten) auf 1 PC. Ich wende Sicherheit an.
Disziplin - Sie haben erwähnt, dass Sie keine Zeit haben / sich die Mühe machen, Ihr eigenes Blog usw. zu aktualisieren.
Akzeptanz - Fähigkeiten und Techniken und Dinge, die Sie in der letzten Woche gelernt haben, werden frisch sein. Einige der Dinge, die Sie vor 3 Jahren gesagt haben, sind schwer zu merken. Das ist normal, denn das Gehirn schafft Platz für mehr.
Mehrere Sinne - manchmal benutze ich Mnemonik, manchmal lasse ich ein Bild mit Schlüsselbegriffen fallen, die auf unterschiedliche Weise gezeichnet sind. Ich lese, ich höre Podcasts, ich schaue Videos, ich benutze Farbe in Redakteuren. Je mehr Sinn ich benutze, desto besser.
Mnemonics , zB css border order Tarball (TaRBalL) TopRightBottomLeft. Ich benutze auch Farben und Formen, um mich an Wörter und Themen zu erinnern. Je bizarrer, desto unvergesslicher!
Fortgesetzte Verwendung - Dies ist der Effekt "Verwenden oder verlieren". Alles Wissen verblasst mit der Zeit. Time ++ Fade ++
Das Stack Exchange-Netzwerk - Ich verwende Stack Overflow in mehreren Bereichen, um möglichst viele verschiedene Fähigkeiten und Techniken auf dem neuesten Stand zu halten und zu behalten, auch wenn ich sie in meinem aktuellen Job / Projekt nicht verwende.
Dropbox - Ich behalte gemeinsame kleine Dateien mit speicherbezogenen Elementen
Bücher - Ich mag immer noch den Narren und das Gefühl von physischen Büchern. Ich habe auch mehrere Kindle und andere technische Online-Bücher, auf die ich mich überall beziehen kann. Offensichtlich kann meine technische Bibliothek überall zugänglich sein, wenn sie digital ist, was riesig ist.
Der Google-Effekt - keine Liste der Artikel wäre wirklich vollständig, ohne dies zu erwähnen. Dies ist mehr über das, woran Sie sich nicht erinnern müssen - weil Sie es googeln und finden können. Dies ist auch ein wichtiger Gesichtspunkt. Je mehr Menschen sich mit dieser Art des Wissens auskennen, desto weniger wird es notwendig, sich eine bestimmte Tatsache tatsächlich zu merken. Dies legt jedoch auch die Messlatte für Wissensarbeiter höher, die immer mehr feststellen, dass ein tiefgreifendes konzeptionelles Verständnis erforderlich ist, um in der aktuellen Umgebung erfolgreich zu sein. Natürlich was raus für CMEs !
Mein eigener Blog
Meine eigene Lesezeichen- Site.
quelle
Im letzten Jahr wurde Evernote zu einem Programm, auf das ich nicht verzichten konnte. Ich kopiere alles in Evernote. Code Snippeds, Screenshoots, Kontaktdaten, Versionshistorie und so weiter. Ich muss mich also nicht an so viele Details erinnern. Ich weiß nur, dass es irgendwo drin ist.
Die Basisversion ist kostenlos. Also probieren Sie es aus!
quelle
Sherlock Holmes sagte einmal so etwas wie "Der Verstand eines Mannes ist wie ein Dachboden. Wenn Sie ihn mit Kleinigkeiten füllen, gibt es keinen Platz für etwas wirklich Wichtiges. Für all diese Details haben wir die Enzyklopädie."
Wenn Sie nicht über ein fotografisches Gedächtnis und die damit verbundenen Probleme verfügen, werden Sie sich nicht an alles erinnern. Erstellen Sie eine Reihe von Ressourcen, eine persönliche Bibliothek mit Informationen und Problemlösungstechniken.
Sie können sich möglicherweise nicht an die Antwort erinnern, und Sie können sich möglicherweise nicht einmal daran erinnern, wo die Antwort notiert ist. Aber wenn Sie wissen, wie Sie das Problem lösen können, können Sie die Antwort immer wieder finden. Hoffentlich umfasst dies die Dokumentation Ihrer Lösung auf durchsuchbare und wiederverwendbare Weise.
quelle
Naja, vielleicht ist mein Fall besonders ... aber: Ich habe jede Software, die ich seit 76 geschrieben habe, auf meinem Laptop, Programmen, Skripten, Konfigurationen usw. Im Laufe der Zeit (muss ich gestehen) hat sich meine Speicherlast vom Erinnern verschoben. ' Zeug 'zum Erinnern von Metadaten über Sachen. Sicher, vieles davon ist nicht mehr relevant, aber ich finde, dass der schwierige Teil darin besteht, die Ideen zu haben und sie nicht wirklich umzusetzen. Metadaten sind also im Grunde genommen ein Index dafür, welche „Ideen“ wo zu finden sind.
Wenn ich auf neuen Rasen stoße, neige ich heutzutage dazu, eine große Codebasis zu finden, die die neuen Aspekte nutzt, und etwas Zeit mit der Codebasis zu verbringen. Ich studiere es, versuche es in einer Testumgebung zum Laufen zu bringen und dann zu erweitern, damit ich neue Tools (Bibliotheken, Sprachen, Build-Technologie usw.) verwenden kann. Dieser Prozess ermöglicht es mir, meine Muster und Ideen auf ein Beispiel abzubilden. Vielleicht nehme ich mir Zeit für ein paar solcher Mini-Projekte und nehme als Referenz das, mit dem ich mich am wohlsten fühle. Sobald dies erledigt ist, werde ich diese Codebasis irgendwann erneut verwenden, um das Grundgerüst meiner eigenen Apps aufzubauen.
Wenn persönliche Archive versagen, bin ich auf das Netz gestoßen, zu dem ich kürzlich SO hinzugefügt habe. Ich werde auf SO einen Hit auf 'neue' Konzepte (aus persönlicher Sicht neu) bekommen, bevor es losgeht. Tatsächlich kehre ich (heutzutage) selten zu Gaagle zurück. Die erste relevante Antwort darauf enthält normalerweise einen Link zu einigen interessanten Fragen zu SO.
quelle
Wie andere auch, verfolge ich Dinge mithilfe von Lesezeichen.
Früher habe ich Delicious verwendet, bin aber jetzt zur Pinnwand gewechselt.
Aber ich benutze diesen Weg nicht mehr so oft wie früher. Anscheinend ist jedes Programmierproblem, auf das ich stoße, eine kleine Google-Suche entfernt. Und in den letzten Jahren habe ich angefangen, Stackoverflow als einen meiner Suchbegriffe zu verwenden!
Immer wenn ich auf eine SO-Frage für ein besonders schwieriges Thema stoße, bevorzuge ich die Nachverfolgung, sodass dies eine andere Form der Lesezeichenerstellung ist.
quelle
Es ist absolut normal, sich nicht an die feineren Details zu erinnern. Was Sie sich jedoch Sorgen machen sollten, ist das Vergessen der wichtigsten Dinge. Wenn Sie einen Fehler behoben haben, sollten Sie zumindest eine konzeptionelle Vorstellung davon haben, was das Problem war.
Lesezeichen, Blogs und Notizbücher eignen sich gut, um diese Details zu speichern. Letztendlich muss man sich aber noch an das größere "Bild" erinnern. Andernfalls wird es sehr viel schwieriger sein, diese "feineren" Details wieder zu entdecken.
quelle
Behalte deine eigenen Notizen, drücke die Dinge in deinen eigenen Worten aus. Ihre Zielgruppe sind Sie , sonst niemand, also können Sie es sich leisten, knapp zu sein. (Ein Blog-Beitrag muss jedoch wirklich klar und gut bearbeitet sein, was zeitaufwendig ist.) Wenn Sie gute Artikel / Blog-Beiträge finden, notieren Sie die URL und erklären Sie die Dinge dennoch in Ihren eigenen Worten.
Ich behalte eine große Hierarchie kleiner, kurzer Dateien mit einem Thema. Die Dateien sind größtenteils in freier Form, aber ich wechsle zu Markdown. Suche mit grep / find. Ich behalte den Ordner in meiner DropBox, damit er mir immer zur Verfügung steht.
quelle
Jeder kann seinen eigenen Stil haben, an den er / sie gewöhnt ist. Für mich trenne ich Wissen in Kategorien:
Bücher
Artikel
Sammlungen (Sachen, die ich interessant finde, beschränken sich auf wenige Absätze - ich kopiere die Informationen und beschrifte manchmal die Quelle) - Zum Beispiel: OODevelopment, Generics, ... etc.
Wiederverwendbarer Code (Text und Schnipsel) - jeweils in einer separaten Datei unter einer guten Baumstruktur. Beispielsweise würde der DataValidation-Knoten viele Techniken zum Validieren verschiedener Datenelemente enthalten, die sich jeweils in einer separaten Datei befinden
Fertige Projekte
Persönliche Video-Tutorials (Ich nehme manchmal Videos auf, wie man Dinge macht, wenn zu viele Schritte erforderlich sind).
Links
Ich organisiere das Obige nach Themen, wobei jedes Thema in einer geeigneten Baumstruktur dargestellt wird.
Manchmal überlappen sich Dinge, aber ich finde, was ich will.
Mithilfe von Google Desktop können Sie außerdem sehr schnell nach Text oder Dateien suchen.
quelle
Ich benutze OneNote. Ich habe viele verschiedene Programmiersprachen, mit denen ich arbeite, daher habe ich verschiedene Abschnitte für jede Sprache und verschiedene Registerkarten für verschiedene Arten von Notizen.
Jetzt fange ich auch an, Stack Exchange zu verwenden.
quelle
Sie müssen zwischen Speicher und "Speicher" ausgewogen sein. Wenn Sie zu viel oder für falsche Dinge im Speicher verlassen, == Problem, wenn Sie zu viel auf das Speichern von allem verlassen == nutzlos.
Meine Regeln:
-Nicht zu verschönern! schreibe die wichtigen Sachen, auch wenn die Schriftgröße in deinem Dokument variiert :)
-Nicht überorganisieren. Überzeugen Sie sich davon, dass für die Organisation Ihrer Gedanken keine Baumstruktur mit 10 Ebenen erforderlich ist
-Verwendete ZEIT, um herauszufinden, was aufgezeichnet werden soll. Möglicherweise finden Sie 5 Lösungen für das gleiche Problem. In dem Moment, in dem du sie ALLE aufschreibst, bist du los. Schreiben Sie 1-2 auf, die WIRKLICH helfen. Lass dir NICHT sagen, dass du jetzt keine Zeit dafür hast. Es ist ziemlich seltsam, aber es gilt: "Verbrachte Zeit, um Zeit zu bekommen"
Ich mag es nicht, diese Dinge in ein "Produkt" zu packen, weil ich sicher sein will, dass es 20 Jahre später existieren wird und ich mich nicht auf verschiedene Plattformen migrieren will.
Also, was ist zu tun?
Alles, was Sie die Informationen mit minimalem Aufwand erhalten können.
Installieren Sie zum Beispiel phpBB und schreiben Sie an sich selbst. Sie erhalten sofort eine Suchfunktion, die kostenlos ist, und Sie können Daten mit einfachen SQL-Anweisungen extrahieren und in Dateien ablegen. Sie können einen Cronjob haben, der Ihre Gedanken in Dateien zur Archivierung exportiert. Wenn Sie sie also jemals in ein anderes System einbauen müssen, sind Sie mit minimalem Aufwand bereit.
Ein weiteres Problem ist, dass niemand garantiert, dass die Links, die Sie finden, morgen funktionieren (stellen Sie sich 5 Jahre später vor). Versuchen Sie also, die Informationen zu duplizieren:
-Downloaden Sie das Video mit einigen Browsererweiterungen und hängen Sie es zum Beispiel an Ihren phpBB-Post (oder WordPress oder was auch immer) an.
Seien Sie ehrlich: Sie sind Programmierer und machen Apps für andere Menschen. Machen Sie es sich einfach und werden Sie IHR bester Kunde.
mein 2c
quelle
Kurze Antwort:
Üben, üben, üben.
Nicht so kurze Antwort:
Wie erinnerst du dich, wie man läuft? Wie erinnerst du dich, wie man spricht? Zugegeben, diese Fähigkeiten sind nicht exakt gleich und erfordern anscheinend kein enzyklopädisches Wissen (zumindest für Anfänger), aber Sie verwenden dasselbe: Gedächtnis.
Während ich zugebe, dass für Anfänger das Programmieren ein unglaublich großes Thema sein kann, wenn Sie anfangen, es zu studieren, wird es wie jedes andere Thema, sobald Sie die Grundlagen verstanden haben.
Sobald ich das herausgefunden hatte, begann ich, die Dinge in immer kleinere Stücke zu zerlegen (meine eigene, persönliche Version der Abstraktion). Auf diese Weise wird etwas, an das man sich nur schwer erinnern kann, einfacher (zumindest bei mir).
Das Aufschreiben hilft mehr, als Sie vielleicht denken (nachdem ich in der Bildung gearbeitet habe, weiß ich, dass dies massive positive Auswirkungen auf die Kundenbindung haben kann). Vor allem, wenn Sie es in Ihre eigenen Worte fassen können - anstatt es nur wörtlich zu kopieren. Wenn Sie es mit etwas paraphrasieren oder gleichsetzen können, das Sie bereits kennen, umso besser.
Beispiel: In C # sind String-Objekte unveränderlich. Das bedeutet, wenn ich meinem Programm anweise, den Inhalt eines Zeichenfolgenobjekts zu ändern, wird die ursprüngliche Zeichenfolge tatsächlich zerstört (technisch gesehen befindet sie sich auf der untersten Ebene des Garbage Collectors). Genau wie wenn ein Künstler bei der Erstellung einer Marmorskulptur einen Fehler macht - sie kann nicht geändert werden, sie wird zerstört und eine neue Skulptur erstellt.
Es ist kein gutes Beispiel, aber es zeigt die Grundlagen dessen, worauf ich hinaus will.
Auch die Qualitätsdokumentation hilft. Etwas, von dem mir mein Dozent für Programmierung 101 einmal sagte, dass es bei mir hängen geblieben sei:
Gute Bücher sind auch eine hervorragende Ressource. Ein anderer Tutor hat mir einmal gesagt, dass es sich nicht lohnt, ein Buch zu kaufen, das keinen Index hat (und es gibt viele davon, die es nicht gibt).
Google kann eine erstaunliche Ressource sein, aber achten Sie auf Copy-Paste-Codierer. Vermeiden Sie Sites, die nur einen Codeblock ohne Erklärung enthalten. Ich bevorzuge es, einen ganzen Artikel über kleine Codeblöcke zu lesen. Auf diese Weise wissen Sie nicht genau, wozu der Codeblock gedacht ist, wie er funktioniert und warum der Programmierer ihn so geschrieben hat.
Ich hoffe, das hilft
quelle