An einem Softwareprojekt, an dem ich arbeite, sind ich und ein anderer Programmierer beteiligt. Das Projekt umfasste ein Engine-Backend mit einem MVC-Frontend. Anfangs habe ich viel an dem Projekt gearbeitet und so einige einfache Entwurfsmethoden eingerichtet, die sich hauptsächlich mit Abstraktion und Vorlagenstrategie befassen.
Seit einiger Zeit bin ich nicht mehr im Backend der Engine und arbeite an der Website. Ich habe jedoch immer noch ein Interesse an dem Motor bewahrt, als mir mitgeteilt wurde, dass ich irgendwann wieder dabei sein könnte.
Das Projekt ist unter einer sehr engen Frist, so dass wir uns alle beeilen, es sowohl am vorderen als auch am hinteren Ende fertig zu stellen.
Ich betrachte mich nicht als einen großartigen Programmierer und versuche daher niemals, Menschen ein bestimmtes Design oder eine bestimmte Reihe von Methoden aufzuzwingen, da ich nicht immer sicher bin, ob ich Recht habe und gerne möchte, dass andere Menschen ihre Meinung dazu abgeben bessere Lösungen finden. Ich habe jedoch bemerkt, dass Änderungen an diesem Motorcode vorgenommen wurden, die mich wirklich ärgern. Als ich den Entwickler konfrontierte, um ihm vorzuschlagen, die Arbeit auf eine andere Weise zu erledigen, sagte er, er verstehe den Punkt nicht, da es angesichts der engen Fristen wenig Nutzen zu geben schien.
Ich musste versuchen zu erklären, dass der Hack, den er eingesetzt hatte, eine Weiterentwicklung nach der Veröffentlichung bedeuten könnte, und ich hielt es nicht für fair, andere dazu zu bringen, die Lücke zu schließen, wenn wir sie jetzt beheben konnten. Ich verbrachte ungefähr 30 Minuten damit, das durchzugehen, was ich getan hatte, und am Ende bat er mich, den Code so ziemlich zu schreiben, damit er ihn einfach kopieren konnte.
Die Grundlage für das, was ich ursprünglich eingerichtet hatte, war:
- Eine abstrakte Klasse x
- Eine abstrakte Factory-Klasse zum Erstellen konkreter Instanzen von x
Was passiert war, war, dass er einige if-Anweisungen, die leicht als virtuelle / abstrakte Methoden in die abstrakte Klasse eingefügt werden konnten, platziert und dann entsprechend implementiert hatte, da die neue Änderung bereits dem gleichen Prinzip wie andere Methoden in der abstrakten Klasse folgte.
Das scheint mir trivial zu sein, aber er konnte es nicht einmal verstehen, selbst als ich ihm die beteiligten Klassen zeigte.
Jetzt ist meine Frage:
- Ist es unfair anzunehmen, dass er dieses Konzept hätte verstehen sollen? Mir ist klar, dass wir enge Fristen haben, aber ich fand das trivial. Der Programmierer soll mindestens eine Zwischenstufe sein.
- Dies ist an mehreren Stellen passiert und ich habe ständig versucht, ihn dazu zu bringen, sich zu ändern, aber er scheint es nicht zu tun. Soll ich es einfach ignorieren?
- Sollte ich dieses Problem an anderer Stelle ansprechen oder es einfach nur lutschen und wenn ich wieder mit dem Projekt beschäftigt bin, gehe ich einfach herum und ändere all diese Dinge.
Sein Teil des Projekts wird nicht abgeschlossen sein, weshalb ich zurückgehen und ihm helfen muss. Ich will es wirklich auch nicht, da er ein Projekt mit nicht großartiger, aber guter Architektur aufgenommen und wirklich eine Menge chaotischen Codes eingefügt hat, der mehr als oft nicht dem folgte, was erreicht werden wollte.
Wenn die Frage zu vage oder zu vage ist, lassen Sie es mich bitte wissen und ich werde versuchen, sie entsprechend zu bearbeiten.
BEARBEITET: Das Projekt wird voraussichtlich nach Ablauf der ersten Frist fortgesetzt, da bereits Folgearbeiten geplant sind und Arbeiten, in die wir nicht eingepasst haben und deren spätere Umsetzung vereinbart wurde.