Sie haben bereits ein paar gute Antworten, aber lassen Sie mich eine kleine Wendung hinzufügen…
Ich mag Leute, die Dokumentation benutzen, und es ist ein großartiges Zeichen für Ihre Professionalität.
Dokumentation nicht benutzen
Ich kenne genug Programmierer, die ohne einen wirklichen Plan über lange Zeitspannen stolpern und zufällig dieses und jenes ausprobieren, sich durch alten Quellcode wühlen, wo das, was sie erreichen wollen, bereits gemacht worden zu sein scheint (aber nicht ganz) und so weiter. Ehrlich gesagt, verabscheue ich diese Art der Herangehensweise. Sie kommen nie sehr weit, müssen oft Leute fragen, nehmen selten Ratschläge an und ziehen es vor, scheinbar ewig so weiterzumachen.
Nur Tutorials?
Leute googeln häufig nach Tutorials oder Codeschnipseln einschließlich SO, ohne sich jemals auf Dokumentation zu beziehen, ärgern mich ohne Ende. Dieses Verhalten ist meiner Meinung nach eine riesige Falle. Es führt zu einer Art von Programmierung, die durch halbgares, willkürliches, unsystematisches “Wissen” angeheizt wird. Diese Programmierer neigen dazu, mit einer Menge Vorurteile zu enden. Daher stammen Nuggets wie “verwende nie git rebase
”, “verwende nie not in
in SQL”, “mache immer XXX”, “mache nie YYY”. Es wird ihnen sehr schwer fallen, über den Tellerrand hinauszudenken, neue Ideen zu entwickeln, eine Intuition dafür zu entwickeln, wie ihre Anwendungen zu strukturieren sind und all das Zeug, das großartige Entwickler ausmacht.
Ich möchte Sie dringend bitten, jedes Problem zuerst zu lösen, indem Sie sich die Dokumentation/Referenz ansehen und dann nach SO oder anderen Schnipseln suchen.
Natürlich gibt es Ausnahmen. Wenn Ihr Problem ganz offensichtlich so etwas wie ein Fehler oder etwas sehr, sehr, sehr besonderes ist, das wahrscheinlich in keiner Art von Dokumentation behandelt wird (z.B, eine spezielle Kombination von Bibliotheken/Modulen usw.), dann gehen Sie auf jeden Fall direkt zu SO.
Wenn es etwas ist, das leicht durch Dokumentation/API herausgefunden werden könnte, dann würde ich vorschlagen, sich hinzusetzen und an diesem speziellen Teil Ihrer Programmiersprache / Bibliotheken usw. zu arbeiten, so dass Ihr Wissen enger wird.
Dokumentation
Die beste Art ist für mich ein Programmierer, der sich, wenn er auf ein neues Thema stößt, die Zeit nimmt, sich wirklich hinzusetzen, sich darin zu vertiefen, einen guten Überblick und ein gutes technisches Verständnis zu bekommen. Dies wird in den meisten Fällen erreicht (wiederum nach meiner Erfahrung mit den vielen Programmiersprachen, mit denen ich Kontakt hatte), indem man die gute alte Dokumentation einschließlich API-Referenzen und so weiter liest. Dies kann meiner Meinung nach niemals durch etwas anderes ersetzt werden.
Ich finde es nicht sonderbar, z.B. die alten C++-Klassiker (gutes altes Papier), die Gang of Four Design Patterns, das (Online-Version des) “Programming Ruby”-Handbuch, die extrem gut gemachten Perl-Manpages, das Git-Buch, bestimmte RFCs, die HTML/XML/etc. Spezifikationen und so weiter von vorne bis hinten zu lesen. Ich würde das auch in meiner Freizeit tun und getan haben und würde es, offen gesagt, von jedem Programmierer erwarten, der sein Salz wert ist (natürlich abhängig davon, womit er arbeitet). Ich bin mir auch durchaus bewusst, dass ich (zumindest in den Firmen, in denen ich in den letzten Jahrzehnten gearbeitet habe) mit dieser Meinung ziemlich allein bin.
(N.B.: Offensichtlich müssen Sie sich keine riesigen Listen von API-Referenzen merken, aber zumindest diese beschönigen, um zu sehen, was verfügbar ist und was der “Geist” der API zu sein scheint. )
Nachdem Sie sich mit dem Thema gründlich vertraut gemacht haben, dann ist es an der Zeit, 3rd-Party-Code zur Inspiration anzuschauen oder sich ältere SO-Fragen anzuschauen (oder selbst neue Fragen zu stellen).
Sie werden vielleicht auch feststellen, dass, wenn Sie ein Feld wie dieses absorbiert haben, es sehr einfach wird, Antworten zu finden, indem Sie direkt in das Fleisch zoomen, woher Sie Ihre Dokumentation auch immer bekommen (Man Pages etc.). An diesem Punkt könnte auch die Autovervollständigung Ihres Editors bereits ausreichen. Und vielleicht wissen Sie auch schon sehr bald, wenn etwas mit dem Werkzeug, mit dem Sie arbeiten, einfach nicht möglich ist, was Ihnen eine Menge vergebliches Suchen erspart.