Was tun nach Abschluss des Projekts, aber bevor ich mit dem nächsten fortfahre?

8

Ich habe Informatik studiert und arbeite jetzt fast ein Jahr als Einzelentwickler in einem Unternehmen an einem ziemlich agilen Java-Projekt. Das Projekt wird bald erfolgreich abgeschlossen sein (zumindest hoffe ich das!).

Die Kernfunktionalität ... funktioniert und sogar einige andere Dinge, die nicht in den Startanforderungen waren. Ich habe sogar viele Ideen für neue Funktionen, die nicht erforderlich sind, aber die Benutzerfreundlichkeit und Funktionalität des Programms verbessern würden.

Einige Teile des Programms funktionieren sehr gut, während andere Teile Code haben, auf den ich nicht sehr stolz bin ...

Seit Beginn des Projekts habe ich viel gelernt und weiß daher jetzt, wie man theoretisch besseren Code in diese Teile schreibt - wodurch Sie die Fehler erkennen, die Sie gemacht haben und die Sie vorher nicht bemerkt haben!

Das Problem: Nach dem Projekt bleibt nicht viel Zeit, um etwas zu tun. Ein erneutes Schreiben von Grund auf ist einfach nicht möglich. Und das Umschreiben nur der fehlerhaften Teile würde erfordern, um tief in die Kernfunktionalität einzusteigen -> nimmt viel Zeit in Anspruch!

Gibt es Methoden / Strategien, um aus meinen Fehlern zu lernen und das nächste Projekt noch besser zu machen?

Gibt es noch etwas, das ich nach Abschluss des Projekts tun sollte, aber bevor ich zum nächsten übergehe?

hamena314
quelle
3
Die meisten Softwareprojekte werden nicht neu geschrieben, und keines ist jemals perfekt oder abgeschlossen, es sei denn, sie werden außer Betrieb genommen. Das wahrscheinlichste Ergebnis ist, dass Sie zu einem neuen Projekt wechseln und Wartungskorrekturen für das ursprüngliche Projekt bereitstellen.
Robert Harvey
4
@gnat Diese Frage passt eindeutig zu unserem fiktiven Bild des Site-Bereichs . Dies ist eine "Disposition" - oder "Post-Mortem" -Aktivität.
Thomas Owens
1
@ThomasOwens Laut meiner Lektüre ist das Problem hier nicht die Aktualität (es passt hier nach Thema), sondern das Fehlen der beantwortbaren Frage. "Was zu tun ist ..."
Mücke
2
@gnat Es fragt nach einem Prozess oder einer Methodik. Ich lese dies als Frage nach einem Post-Mortem-Prozess für einen einzelnen Entwickler. Alle meine Erfahrungen waren in einem Team, daher kann ich keine wirklich nützliche Antwort geben.
Thomas Owens
3
@ ThomasOwens: Das ist ein bisschen breit. Normalerweise benötigen wir Fragen, die etwas spezifischer sind als "Haben Sie Tipps für mich?"
Robert Harvey

Antworten:

1

Guter Code wie gute Wissenschaft zeigt seine Fähigkeit, auf eine Weise zu arbeiten / zu tun, die von einer Gruppe Ihrer Kollegen genehmigt wurde. Wenn diese App funktioniert, sind Sie Teil des Weges dorthin, aber Sie können diesen Code wahrscheinlich nicht der Öffentlichkeit zugänglich machen und arbeiten alleine.

Starten Sie ein persönliches Projekt. Je früher desto besser. Dies führt einige Dinge aus:

  1. Code ist eine hervorragende Form der Dokumentation für Code. Wir lernen aus Beispielen und obwohl wir mehr Einblicke erhalten können, wenn wir Code diskutieren oder dokumentieren, mögen wir den Code immer noch.
  2. Lassen Sie andere Ihren Code anzeigen. Stellen Sie spezielle Fragen zu Stackoverflow. Erstellen Sie ein Open Source-Projekt oder tragen Sie dazu bei. Treten Sie einer lokalen Entwicklergruppe bei und lassen Sie sie sich das ansehen.
  3. Refactoring üben - Nehmen Sie einen Teil Ihres Projekts und ahmen Sie die Art und Weise nach, wie Sie es in Ihrem vorherigen Projekt getan haben, und refactorieren Sie es dann. Lassen Sie die Quellcodeverwaltung das Vorher und Nachher anzeigen. Auch hier ist Code wichtig.
  4. Testen Sie Ihre neu gewonnenen Codierungskenntnisse. Bauen Sie andere Teile so, wie Sie es jetzt denken. Funktioniert es? Ist es wirklich besser als der alte Weg? Was sind Ihre Kriterien? Schneller, einfacher zu schreiben, zu warten?
  5. Fügen Sie eine extreme Funktion hinzu. Jetzt werden wir sehen, ob Ihr Code wirklich wartbar ist. Schreiben Sie Teile davon für ein RDBMS und eine Nosql-Datenbank. Erstellen Sie Ihre Web-App so, dass sie auch in einer Befehlszeile ausgeführt wird. Erstellen Sie eine Protokolldatei, die jedes Mal nachverfolgt wird, wenn jemand die App nicht ordnungsgemäß herunterfährt (ich sagte, es sei verrückt).

Es gibt wahrscheinlich viele Notizen und andere Dokumentationen, die Sie zusammenstellen könnten, aber jedes Mal, wenn Sie Dinge im Code erledigen können, tun Sie es. Sie können besser programmieren, wie die meisten Dinge mit Übung und hoffentlich einigen Verbesserungsmaßnahmen. Peer Reviews können helfen, wenn Sie besser werden. Wenn Sie eine App haben, die einer Gruppe von Benutzern ausgesetzt ist, die Feedback geben können, ist dies sogar noch besser. Sie kennen die Details nicht, erkennen jedoch Verbesserungen in der Geschwindigkeit, ein besseres Design und Ihre Fähigkeit, Änderungen / Korrekturen schneller vorzunehmen. Dies muss kein umfangreiches Projekt sein. Fragen Sie einfach: "Ist das besser oder nicht?"

JeffO
quelle