Lesen, suchen, (keine Angst haben) Fragen

„Als Ingenieure und als Entwickler werden wir dafür bezahlt, frustriert zu sein. Gleichzeitig sind wir immer in der Schule. Wir lernen immer. “- Carlos Lazos, Episode 1 des CodeNewbie-Podcasts

Codierung ist eine Reise in die Mehrdeutigkeit.

Egal, ob Sie eine RESTful-API entwerfen, eine App auf Tausende von Benutzern skalieren oder nur versuchen, etwas mit CSS richtig zu positionieren, es wird immer Dinge geben, die Sie nicht kennen.

Wenn Sie das nächste Mal nicht weiterkommen und nicht wissen, wie Sie vorankommen sollen, verwenden Sie die "Read-Search-Ask" -Methode von Free Code Camp. Wie der Name schon sagt, sind Sie:

  1. Lesen Sie die Dokumentation oder den Fehler
  2. Google suchen
  3. um Hilfe bitten - ohne Angst zu haben zu fragen!

Lassen Sie uns näher auf diese eingehen.

Lesen

Wenn Sie wissen, dass Sie eine bestimmte Methode verwenden müssen, diese aber nicht implementieren können, ist die Dokumentation ein guter Ausgangspunkt. Wenn Sie sich nicht sicher sind, welche Methode Sie benötigen, können Sie häufig eine Lösung finden, indem Sie in der Dokumentation herumklicken.

Wenn Sie Fehler erhalten, lesen Sie den Fehler! Versuchen Sie herauszufinden, was es zu sagen versucht. Wenn Sie keine Fehlermeldung erhalten, aber nicht genau wissen, was passiert, können Sie versuchen, über die console.log () -Methode zu debuggen.

Wenn ich meine Free Code Camp-Apps ausbaute und nicht die erwarteten Ergebnisse erhielt, protokollierte ich die Ergebnisse von fast allem: if-Anweisungen, Funktionsrückgabeanweisungen, Klickmethoden und Timing-Methoden.

Ein hilfreiches Tool hierfür ist die Konsole Ihres Browsers. Wenn Sie in CodePen arbeiten, enthält es auch eine Konsole.

Wenn Sie bestimmten Blogs folgen (CSS-Tricks werden häufig für CSS verwendet), gehen Sie zum Blog und prüfen Sie, ob dort Artikel enthalten sind, die Ihnen bei Konzepten helfen, mit denen Sie zu kämpfen haben.

Wenn Sie immer noch nicht weiterkommen, ist es möglicherweise an der Zeit, sich an Google zu wenden.

Suche

Google wird schnell zu Ihrem besten Freund, sofern dies noch nicht geschehen ist. Aber Google kann manchmal zu dem nervigen Freund werden, den man stupsen und anstupsen muss, um nützliche Antworten zu erhalten. Um das Beste aus dieser Freundschaft herauszuholen, sind einige Dinge zu beachten.

Eine davon ist, dass Sie häufig - insbesondere wenn Sie mit dem Erstellen von Apps beginnen - nicht genau die Antwort erhalten, die Sie benötigen, um alle Ihre Probleme auf magische Weise zu lösen. Normalerweise müssen Sie das Gelernte nehmen und dann auf Ihre aktuelle Situation anwenden.

Seien Sie spezifisch, seien Sie präzise

Beachten Sie auch, wie Sie Ihre Suchanfragen so strukturieren, dass Sie effizient Lösungen für Ihre spezifischen Probleme finden.

Der Versuch, ein einzelnes Zeichen an einer bestimmten Position in einer Zeichenfolge zu ersetzen, ist beispielsweise ein Problem, auf das viele neue Codierer stoßen. Um dieses Problem zu lösen, könnten Sie zahlreiche Dinge googeln.

"Ich möchte etwas in einer Zeichenfolge ändern" führt zu einer Vielzahl von Ergebnissen.

Sie erhalten alles von Teilzeichenfolgen über R bis hin zu „10 coolen Möglichkeiten, um mehr aus Word's Find and Replace herauszuholen“ (was ich als Ergebnis dieser Suche mit einem Lesezeichen versehen habe, um es später zu lesen). Nicht genau das, wonach wir suchen.

Beim Googeln - insbesondere bei Programmierproblemen - folgen viele Programmierer der Konvention:

[Programmiersprache] [Verb] [Schlüsselwörter]

Versuchen wir das bei unserem Problem. Wenn wir "Javascript-Ersetzungszeichen in Zeichenfolge" eingeben, erhalten wir Folgendes.

Das scheint viel näher an dem zu sein, wonach wir suchen!

An dieser Stelle werde ich die ersten Einträge durchklicken, um zu sehen, ob sie hilfreich sind oder nicht. Wenn nicht, werde ich versuchen, sie nach zusätzlichen Schlüsselwörtern zu durchsuchen, die möglicherweise hilfreich sind.

In unserem Beispiel möchten wir nur ein Zeichen an einer bestimmten Position ersetzen. Wir benötigen nicht unbedingt reguläre Ausdrücke.

Das vierte Suchergebnis lautet "Wie ersetze ich ein Zeichen an einem bestimmten Index in JavaScript?". Ich würde also darauf klicken und dann feststellen, dass Zeichenfolgen unveränderlich sind und dass Sie nicht nur ein Zeichen ändern können!

Wenn ich danach noch Fragen habe, füge ich meiner Suche möglicherweise "an einem Index" hinzu und versuche, eine andere durchzuführen.

Paketüberfluss

Die Ergebnisse des Stapelüberlaufs können einen anständigen Teil Ihrer Google-Suche umfassen. Es ist eine fantastische Ressource, die Antworten auf eine enorme Vielfalt von Programmierfragen enthält. Normalerweise hat der Fragesteller bereits die Antwort ausgewählt, die für ihn am besten funktioniert hat, und diese Antwort wird dann oben in den Ergebnissen mit einem grünen Häkchen angezeigt.

Was ich jedoch fast immer tun werde, ist, alle Antworten durchzugehen, die veröffentlicht wurden, einschließlich der Kommentare. Diese haben manchmal einige interessante Diskussionen, und manchmal sagen die Leute direkt: "Das ist falsch" oder "Das ist eine schlechte Praxis."

Sobald ich meine Optionen und die Vor- und Nachteile der einzelnen Optionen kenne, werde ich versuchen, sie umzusetzen.

(Hab keine Angst davor) Frag

Wenn Sie eine Weile im Kreis gesucht haben und nichts gefunden haben, was funktioniert, ist es möglicherweise an der Zeit, einen echten Menschen zu fragen.

Echte Menschen können in allen möglichen Formen auftreten:

  • deine Freunde (wenn du Freunde hast, die codieren)
  • Meetup-Gruppen (wenn Sie zu Meetups gehen)
  • Mitbewohner in den Free Code Camp Gitter-Kanälen und -Foren
  • Slack- oder Facebook-Gruppen, zu denen Sie gehören, unter anderem

Bevor Sie jedoch fragen, sollten Sie versuchen, Ihre Frage so zu strukturieren, dass sie sowohl für Ihre Zeit als auch für die Zeit der Person, die Sie um Hilfe bitten, optimiert wird.

"Meine App ist kaputt. Was mache ich?" oder "Ich kann diese Funktion nicht zum Laufen bringen. Was mache ich?" sind für niemanden sehr hilfreich.

Verstehen Sie das Problem, das Sie haben. Erklären Sie, was Sie von Ihrem Code erwarten, und vergleichen Sie ihn dann mit dem, was er tatsächlich tut. Erklären Sie, was Sie bisher versucht haben, und fügen Sie Codefragmente hinzu, wenn Sie glauben, dass sie helfen werden. (Meistens werden sie.)

Als ich mit dem Lehrplan anfing, hatte ich aus zwei Gründen Angst, Fragen in den Foren oder Chatrooms zu stellen:

Einer war stolz: Ich hatte das Gefühl, ich sollte herausfinden können, warum mein Code das tat, was er tat. ("Ich bin ein kluger und fähiger Mensch. Ich werde das herausfinden!")

Der zweite Grund war Unsicherheit. Ich war nervös, dass die Leute nicht antworten würden oder dass niemand mir helfen würde oder dass ihre Erklärung über meinen Kopf gehen würde, oder ich wollte nicht um Klarstellung bitten und mir noch mehr Zeit für ihren Tag nehmen. oder… [hier jede Ausrede einfügen].

Ich bin froh zu sagen, dass ich mich in jeder Ausrede, die mir einfiel, definitiv geirrt habe. Die Community von Free Code Camp besteht aus Menschen, die sehr freundlich, kompetent und geduldig sind.

Einmal verbrachte jemand ein paar Stunden mit mir, während ich versuchte, gleichzeitig ein Konzept zu verstehen und einen Fehler herauszufinden. Er war durchweg geduldig.

Ich habe noch nie jemanden mit mir reden lassen oder mich für dumm oder unfähig gehalten. Ich hatte noch nie jemanden, der eine meiner Fragen nicht beantwortete, so einfach es auch gewesen sein mag.

Wenn jemand Fragen in den Foren oder im Chatraum beantwortet, tut er dies wahrscheinlich speziell, weil er anderen Menschen helfen möchte!

Als Bonus können Sie sehen, was falsch ist, wenn Sie manchmal klar formulieren, was Ihr Problem ist. Es gab mehrere Male, in denen ich eine Frage gestellt habe, nur um sofort zu erkennen, was ich als nächstes tun musste. (Ich danke dann der Person und sie antwortet: "Nun, ich habe eigentlich nichts getan ...")

Zusammenfassend

Bei der Methode Lesen, Suchen, Fragen geht es darum, die Zeit und die Zeit der Personen zu optimieren, die Ihnen helfen würden. Es ermutigt Sie, selbst zu lernen und Lösungen für Probleme zu finden, bevor Sie andere konsultieren. Wenn Sie es selbst versucht haben und trotzdem nichts erreicht haben, haben Sie keine Angst, um Hilfe zu bitten!

Hilfreiche Links:

Wie fange ich an, wenn du feststeckst?

Mozillas JavaScript-Dokumentation

jQuerys Dokumentation

Eine Einführung in das Debuggen von JavaScript

Der Haupt-Chatraum von Free Code Camp Gitter (es gibt andere Räume mit spezifischeren Zwecken, z. B. Hilfe bei Front-End-Projekten oder die Suche nach jemandem, mit dem das Programm gekoppelt werden kann).

Free Code Camp Forum

Zusätzlich zu den Online-Kanälen bietet Free Code Camp in den meisten größeren Städten Meetups und Facebook-Gruppen an. Ich bin an einem Paar in meiner Stadt beteiligt. Durch sie war ich in der Lage, Leute zu treffen, mit ihnen zu programmieren und Leute zu finden, mit denen ich zu anderen Meetups gehen kann!