Wie bewahren Sie Ihre Grundkenntnisse vor Atrophie? [geschlossen]

37

Codierung ist nur ein Aspekt der professionellen Programmierung. Mein Job erfordert, dass ich programmiere, aber ich muss auch längere Zeit andere Dinge tun - manchmal vergehen Tage oder Wochen, wenn ich nicht nur programmiere .

Ich fürchte, hart erkämpfte Programmierkenntnisse verkümmern zu lassen, während ich in Besprechungen sitze, Architekturdiagramme zeichne und Anforderungen mit Anmerkungen versehen. (Ganz zu schweigen davon, dass ich nicht darauf vertraue, dass Leute Anforderungen schreiben, die den Code nicht verstehen.)

Ich kann nicht nur Bücher und Zeitschriften zum Thema Kodierung lesen. In meiner Freizeit bin ich an einigen Open-Source-Projekten beteiligt, und Stackoverflow und Freunde helfen mir ein wenig, da ich die Möglichkeit habe, Menschen bei der Lösung ihrer Programmierprobleme ohne Mikromanagement zu helfen, aber keines davon ist schrecklich strukturiert, sodass es verlockend ist, zu arbeiten erstmal auf die probleme die ich leicht lösen kann.

Ich denke, was ich gerne finden würde, ist eine strukturierte Reihe von Übungen (egal welche Sprache oder Umgebung), die…

  • ... das kann ich regelmäßig tun
  • … Hat einen gewissen Zeitbedarf, sodass ich feststellen kann, ob ich etwas falsch gemacht habe
  • … Hat eine Art Wertung, sodass ich feststellen kann, ob ich Fehler mache

Gibt es so etwas? Was würden Sie tun, um Ihre Fähigkeiten auf dem neuesten Stand zu halten?

Kojiro
quelle
6
Auf diesem StackExchange sind diese Fragen eigentlich die hilfreichen. Warum es schließen?
Edeph
@Edeph Fragen wie diese klingen zunächst hilfreich, aber die Erfahrung hat gezeigt, dass sie für die Community wenig wert sind. Bitte lesen Sie: Warum wurde meine Frage als "Off Topic" geschlossen?
3
@Schneemann wessen Erfahrung? 25 Upvotes sind eine "gute Frage". Diese Frage wurde auch von einem StackExchange-Mitarbeiter und einem hochrangigen Community-Mitglied beantwortet. Die Community selbst hat also klar zum Ausdruck gebracht, dass es sich um eine wertvolle Frage handelt. Zeitraum. Off-Topic? Bleibt abzuwarten, aber wertvoll? Ja.
Kojiro
1
@kojiro die frage bleibt zu weit und vor allem meinung. Wie die Antworten zeigen, gibt es keine richtige Antwort. Seine Leute schlagen verschiedene Wege vor, die für sie gearbeitet haben. Die Frage ist im Kern eine Umfrage. Wenn es wieder geöffnet werden würde, wären andere Antworten, die Sie erhalten würden, genauso vielfältig, ohne tatsächlich eine richtige Antwort zu erhalten, die sich als richtig von den anderen unterscheidet.
1
Also sagst du, dass die Community eher von einer Packung Mods (die Menschen sind und zu Subjektivismus neigen) getrieben wird, anstatt dass die Leute etwas befürworten, weil es für sie nützlich ist, obwohl es per Definition keine korrekte Antwort gibt? Ist in diesem Bereich nicht alles schwarz-weiß, weißt du?
Edeph

Antworten:

26

Code-Katas fallen mir sofort ein.

Die Idee ist, dass dies wiederholbare Übungen sind, die Sie üben können, bis Sie wissen, dass sie kalt sind, und Sie wiederholen sie regelmäßig, um Ihre Koteletts auf dem Laufenden zu halten. Einige konzentrieren sich auf das Programmieren, andere sind offener und konzentrieren sich auf Denken und Design. Sie können in jeder Sprache oder Umgebung durchgeführt werden, und einige Leute verwenden sie auch, um neue Ansätze (zum Beispiel testgetriebene Entwicklung) auszuprobieren oder zu erlernen.

Die Seite, auf die ich oben verlinkt habe, hat viele Ideen für katas. Ein anderes ziemlich berühmtes ist das Bowlingspiel von Onkel Bob Martin.

Adam Lear
quelle
1
Genial. Qigong-Übungen für Programmierer. Ich liebe es!
Kojiro
Ich habe noch nie davon gehört. Sie sehen fantastisch aus. :)
Meine persönliche Kodierungszeit ist immer stark unterbrochen (3 Kinder zu Hause). Auf der verlinkten Seite heißt es: "Sie brauchen Zeit ohne Unterbrechungen". Ist das wirklich eine Notwendigkeit, oder kann ich trotzdem ziemlich effektiv lernen, wenn ich häufig unterbrochen werde?
Ethel Evans
2
@Ethel Ich weiß es aus persönlicher Erfahrung nicht, aber ich denke du könntest immer noch weitermachen. Ein guter Kontextwechsel würde helfen. Wenn Sie die Übungen üben und sich mit ihnen vertraut machen, wird das Verwalten von Unterbrechungen meiner Meinung nach einfacher.
Adam Lear
Jetzt, wo ich einige der Code-Kata gemacht habe, kann ich noch mehr kommentieren. Ich habe einige Erfahrungen mit Kampfkünsten, daher denke ich, dass die Idee von Katas wirklich gut ist, aber (zumindest die frühen) von Dave Thomas vorgeschlagenen Katas ähneln eher dem Heben von Gewichten als einer traditionellen Kampfkunst-Kata. Sie sind harte Arbeit, aber weder repetitiv noch meditativ genug, um die gleiche Art von Übung wie eine echte Kata zu sein. Das heißt, ich denke, Sie können einige gute Kata auf seine Vorschläge stützen.
Kojiro
10

Was ist mit Project Euler ?

Eine Reihe herausfordernder mathematischer / Computerprogrammierungsprobleme, deren Lösung mehr als nur mathematische Einsichten erfordert. Obwohl Mathematik Ihnen hilft, elegante und effiziente Methoden zu finden, sind Computer- und Programmierkenntnisse erforderlich, um die meisten Probleme zu lösen.

Die Motivation für den Start und die Fortsetzung von Project Euler ist es, eine Plattform für den forschenden Verstand zu bieten, um unbekannte Gebiete zu erkunden und neue Konzepte in einem unterhaltsamen und erholsamen Kontext zu lernen ...

Die Zielgruppe sind Studenten, für die der Grundlehrplan nicht den Hunger nach Lernen stillt, Erwachsene, deren Hintergrund nicht in erster Linie Mathematik war, sondern die sich für Mathematik interessierten, und Fachleute, die ihre Problemlösung und Mathematik am Rande halten wollen ...

Martin Beckett
quelle
10
Meiner Meinung nach ist dies mehr Mathematik als Programmierung.
Guter Punkt - ich hatte den Code katas in Annas Antwort nicht gesehen.
Martin Beckett