Wiederholung für einen Programmierer: Warum es wichtig ist, ähnliche Probleme zu lösen



Von einem Übersetzer: Heute veröffentlichen wir für Sie einen Artikel der unerfahrenen Entwicklerin Amy Haddad. Es wird erklärt, warum Programmierer zu bereits gelösten Problemen zurückkehren sollten.

Viele Entwickler geben den gleichen Rat: Lösen Sie so viele Probleme wie möglich, um ständig neue Erfahrungen und Kenntnisse zu sammeln. Dies ist ein guter Rat, da Sie durch das Lösen von Problemen mit dem Code neue Dinge lernen und vorhandene Fähigkeiten verbessern können. Ich halte es aber auch für wichtig zu wiederholen: Das gleiche Problem kann auf unterschiedliche Weise gelöst werden. Und eine solche Wiederholung ermöglicht es dem Programmierer auch, einen Gewinn in Form einer Verbesserung der Fähigkeiten zu erzielen.

Skillbox empfiehlt: einen zweijährigen praktischen Kurs "Ich bin ein PRO Web Developer".

Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.

Weiß was ich nicht weiß


Wenn ich das Problem zum ersten Mal lösen konnte, heißt das nicht, dass ich mich wieder damit befassen kann.

Ich erinnere mich an die Situation mit einer Bibliothek und einem Fehler darin. Ich habe es geschafft, dieses Problem zu lösen, obwohl ich lange daran festhielt. Aber ein paar Tage später traf ich wieder auf das gleiche Problem und vergaß bereits die ursprüngliche Lösung. Anstatt schnell durch diesen Ort zu schlüpfen und weiterzumachen, musste man wieder Zeit verbringen.

Dann wurde mir klar, dass ich mehr mit bedingten Operatoren und Funktionen arbeiten musste. Mir wurde auch klar, wie wichtig das Studium von Problemen ist - so kann ich mein eigenes Wissen testen und die Lücken erkennen, die geschlossen werden müssen.

Das Arbeiten mit fehlerhaftem Code bietet eine neue Erfahrung, wie oben erläutert. Es ist großartig, dass ich das Problem mit Klassen lösen kann, wenn ich sie lerne. In diesem Fall sieht alles ziemlich einfach aus. Aber was ist, wenn mir das in naher Zukunft passiert? In diesem Fall kann ich nachvollziehen, ob ich früher erworbenes neues Wissen erworben habe oder ob es sich lohnt, es zu konsolidieren.

Alte Probleme, neue Lösungen


Selbst wenn ich mich an meine Handlungen erinnere, wenn ich zum ersten Mal an einer Aufgabe arbeite, versuche ich im zweiten, eine neue Lösung zu finden, um meine Fähigkeiten zu verbessern. Zum Beispiel habe ich eines der Probleme im Code mit Loop gelöst. Das zweite Mal fand ich eine neue Lösung und der Code wurde logischer und lesbarer. Ich habe es geschafft, das Volumen im Problembereich um 50% zu reduzieren, und dadurch habe ich nicht nur verstanden, wie alles funktionieren sollte, sondern auch die Nuancen des Prozesses herausgefunden.

In einer anderen ähnlichen Aufgabe reduzierte Loop den Code und machte ihn lesbarer. Aber als Teil der „Wiederholung“ habe ich das Problem ohne es gelöst - um sicherzustellen, dass ich eine alternative Lösung finden kann.

Ich kann sagen, dass mich das Studium der Probleme aus meiner Komfortzone gebracht hat, also begann ich über den Tellerrand hinaus zu denken. Nur deshalb konnte eine alternative Lösung gefunden werden.

Tests schreiben lernen


Ich lese zum dritten Mal ein Buch von Brian Hogan Exercises for Programmers. Ich analysiere seine Beispiele und versuche jedes Mal, eine neue Lösung zu finden. Dieses Mal übe ich, meine eigenen Tests zu schreiben.

So funktioniert es: Ich wähle eine zufällige Übung aus einem Buch aus und setze mich zum Code. Ich habe das resultierende Programm in mehrere Dateien aufgeteilt, von denen jede für eine separate Lösung verantwortlich ist. Und dann schreibe ich Tests.

Am Ende möchte ich lernen, wie man zuerst einen Test und dann Code schreibt, aber das wird noch kommen. Jetzt übe ich das Erstellen und Hervorheben von Funktionen und das Importieren von Dateien.

Durch ständige Wiederholung der Übungen können Sie Muster erstellen, die im Kopf abgelegt sind. Darüber hinaus können sie als mentales Modell zur Lösung neuer Probleme verwendet werden. Übrigens habe ich diesen Rat in George Pauls Buch How to Solve It gesehen. Er rät bei der Lösung eines neuen Problems, eine Verbindung zu vorhandenen Erfahrungen herzustellen.

„Denken Sie darüber nach, was Ihnen in einer ähnlichen Situation in der Vergangenheit geholfen hat. Suchen Sie nach etwas, das mit dem aktuellen Problem vertraut ist, und versuchen Sie, Ihre Erfahrung zu nutzen. "

Paul hat recht. Ich nutze sehr oft frühere Erfahrungen, um Probleme eines neuen Typs zu lösen. Zum Beispiel kürzlich mit Anagrammen gearbeitet. Mit Hilfe der damals gesammelten Erfahrungen konnte ich eines der aktuellen Probleme lösen. Trotz der Tatsache, dass die vorherige Aufgabe einfacher war, war es möglich, eine neue Lösung zu finden.

Das Studieren von Problemen gibt dem Programmierer viele nützliche Dinge. Wir formulieren neue Konzepte, stärken alte und schaffen eine Wissensbasis, die dann die Grundlage der Arbeit bildet.

Skillbox empfiehlt:

Source: https://habr.com/ru/post/de433902/


All Articles