Wie kann ich Designmuster und Refactoring gezielt üben? [geschlossen]

10

Ich habe das Buch Refactoring to Patterns gelesen und mich gefragt, wie ich die Möglichkeit bekommen kann, die Fähigkeiten zu üben, da sich meine Fähigkeiten ohne gezieltes Üben neuer Methoden zum Refactoring und Verwenden von Mustern nicht verbessern werden.

Für die Büroarbeit muss ich jedoch jede Aufgabe so schnell wie möglich erledigen. Meistens wird das Design und die Architektur des Projekts nicht von mir gesteuert. Ich kann nur dem ähnlichen Stil wie der vorhandene Code folgen. Manchmal gibt es ein Projekt mit einem schlechten Design, aber es gibt auch einen anderen Entwickler, dessen Designfähigkeiten besser sind als ich, und er hat bereits den gesamten Plan, das Projekt umzugestalten, so dass ich nur seinem Plan folge. Wie bekomme ich Gelegenheit zum Üben?

rwong
quelle

Antworten:

6

Um ehrlich zu sein, können Sie es kaum erwarten, eine Gelegenheit zu finden, indem Sie an Ihre Haustür klopfen. Wenn Sie sehr geneigt sind, diese Fähigkeiten zu üben, wäre es großartig, wenn Sie mit Ihren Entwürfen kommen könnten, unabhängig davon, was der sogenannte besser ausgebildete Entwickler hat. Wirf einfach deine Ideen weg und unterhalte dich nett darüber, wie meine für dieses bestehende schlechte Design hilfreich sein könnten. Vielleicht würden Sie in den ersten Versuchen scheitern, aber Sie würden viel lernen und (auch Ihr sogenannter besser ausgebildeter Entwicklerkollege hätte auch etwas von Ihnen zu lernen).

Kurz gesagt, legen Sie Ihre Entwürfe auch auf den Tisch und wissen Sie, wie gut oder schlecht Sie stehen, sonst gibt es keine Möglichkeit, Ihre Fähigkeiten zu bewerten.

V4Vendetta
quelle
3

Üben, üben, üben. Hobbyprojekte sind definitiv eine gute Idee. Und wenn Sie lernen möchten, ist es oft besser, an einem Open-Source-Projekt eines anderen zu arbeiten. Auf diese Weise können Sie aus den verwendeten Mustern lernen.

Ich würde vorschlagen, Dojos und Katas zu codieren . Die ganze Idee hinter diesem Konzept ist, dass Sie durch das Üben an genau definierten überschaubaren Übungsproblemen besser gerüstet sind, wenn Probleme in Ihrem eigenen Code auftreten. (Die Websites erklären dies besser als ich, sehen Sie sie sich auf jeden Fall an.)

Nebeneffekt: Eine wesentliche Sache, die nicht ganz ein Muster ist, sind die richtigen Gewohnheiten beim Testen.

Letzter Kommentar: Bei der Büroarbeit müssen Sie jede Aufgabe so schnell wie möglich erledigen. Wenn Sie zu schnell arbeiten und viele Fehler verursachen, haben Sie die Aufgabe nicht abgeschlossen , da Sie später darauf zurückgreifen müssen. Das ist Nacharbeit. Wenn Sie sich nicht die notwendige Zeit nehmen, um die richtige Vorgehensweise zu erlernen, schaffen Sie kurzfristig mehr Arbeit für sich selbst und lernen nicht die richtigen Muster, um sich langfristig zu verbessern. Es lohnt sich sowohl für Sie als auch für Ihren Arbeitgeber, dass Sie die richtigen Entwurfsmuster üben. (Das heißt, Designmuster können oft von Menschen überbeansprucht und missbraucht werden, die sie übereifrig oder ohne Hintergrundverständnis praktizieren, aber das ist ein separater Punkt.)

Carpeliam
quelle
Nacharbeit ist ein interessantes Thema. 37signals.com/rework ist ein anständiges Buch zu diesem Thema.
Carpeliam
1
Oh, noch ein Kommentar, und dies geht einher mit den Mustern anderer Leute. Verwenden Sie die Personen in Ihrem Büro als Ressource. Wenn sie Pläne haben, wie sie etwas umgestalten können, lassen Sie sie ihren Denkprozess erklären und zwingen Sie sie, Sie zu unterrichten. Wenn sich Ihr Büro nicht auf Ihre persönliche berufliche Entwicklung konzentriert, liegt ein Problem vor.
Carpeliam
+1 für den Hinweis, wann eine Aufgabe beendet ist.
Péter Török
1

Ich denke, Sie haben folgende Möglichkeiten:

  • Überlegen Sie, ob Sie nicht arbeiten möchten - bleiben Sie einfach bei der Arbeit und experimentieren Sie mit der Umgestaltung des Codes, ohne den Code an VCS zu übergeben. Um absichtlich zu üben, müssen Sie die Änderungen nicht festschreiben. Sie müssen eine Prozedur reproduzieren, bis sie zu Ihrer zweiten Natur wird.
  • Beherrschen Sie Ihre Kommunikationsfähigkeiten, um mit Ihren Mitarbeitern zu besprechen, welches Refactoring besser geeignet ist. Entscheidendes Gespräch ist wirklich hilfreich, um die Mechanismen einer Kommunikation zu verstehen.
  • Haustierprojekt - Erstellen Sie ein Haustierprojekt und üben Sie Ihre Fähigkeiten. Es muss nicht sehr nützlich sein. Ihr Ziel ist es, Programmierkenntnisse zu üben.
  • Überlegen Sie, ob Sie Ihre Dienste in einem Open-Source-Projekt vorschlagen möchten. Dies ist für eine gezielte Praxis vorteilhafter, da Sie Feedback erhalten können
Alexey
quelle