Ich bin gerade einem (relativ) kleinen Entwicklungsteam beigetreten, das seit mehreren Monaten, wenn nicht sogar einem Jahr, an einem Projekt arbeitet. Wie bei den meisten Entwicklern, die sich einem Projekt anschließen, habe ich meine ersten Tage damit verbracht, die Codebasis des Projekts zu überprüfen.
Das Projekt (eine mittelgroße bis große interne Geschäftsanwendung von ASP.NET WebForms) ist mangels eines aussagekräftigeren Begriffs eine Katastrophe. Es gibt drei sofort erkennbare Probleme mit den Codierungsstandards:
- Der Standard ist sehr locker. Es beschreibt mehr, was nicht zu tun ist (verwenden Sie keine ungarische Notation usw.) als was zu tun ist.
- Der Standard wird nicht immer befolgt. Es gibt überall Inkonsistenzen mit der Code-Formatierung .
- Der Standard entspricht nicht den Stilrichtlinien von Microsoft. Meiner Meinung nach ist es nicht sinnvoll, von den Richtlinien abzuweichen, die vom Entwickler des Frameworks und dem größten Beitrag zur Sprachspezifikation festgelegt wurden.
Punkt 3 stört mich vielleicht mehr, weil ich mir die Zeit genommen habe, meine MCPD mit einem Schwerpunkt auf Webanwendungen (insbesondere ASP.NET) zu erstellen. Ich bin auch der einzige Microsoft Certified Professional im Team. Aufgrund dessen, was ich während meiner gesamten Schulzeit, meines Autodidakts und meines Lernens am Arbeitsplatz gelernt habe (einschließlich meiner Vorbereitung auf die Zertifizierungsprüfungen), habe ich im Code des Projekts auch mehrere Fälle entdeckt, in denen Dinge einfach nicht erledigt werden bester Weg.
Ich bin erst seit einer Woche in diesem Team, aber ich sehe so viele Probleme mit ihrer Codebasis, dass ich mir vorstellen kann, dass ich mehr Zeit damit verbringen werde, mit dem zu kämpfen, was bereits geschrieben wurde, um Dinge auf "ihre Weise" zu tun, als wenn ich es wäre Arbeiten an einem Projekt, das beispielsweise allgemein anerkannten Codierungsstandards, Architekturmustern und Best Practices folgte. Dies bringt mich zu meiner Frage:
Sollte ich (und wenn ja, wie kann ich) meinem Projektmanager und Teamleiter vorschlagen, dass das Projekt grundlegend renoviert werden muss?
Ich möchte nicht in ihr Büro gehen, meine MCTS- und MCPD-Zertifikate herumwedeln und sagen, dass die Codebasis ihres Projekts Mist ist. Aber ich möchte auch nicht schweigen und kludgey-Code auf ihren kludgey-Code schreiben müssen , weil ich tatsächlich hochwertige Software schreiben möchte und das Endprodukt stabil und leicht zu warten sein soll.