Ich arbeite an einer alten Codebasis, die ... nicht perfekt ist , in einer Umgebung, die es auch nicht ist. Es ist nicht die schlechteste Codebasis, die ich in meinem Leben gesehen habe, aber es gibt immer noch viele Probleme: Null-Einheitentests; Methoden mit mehr als tausend Codezeilen; Missverständnis der objektorientierten Grundprinzipien; etc.
Es tut weh, den Code zu pflegen.
- Jedes Mal, wenn ich tausend Zeilen einer schlecht geschriebenen Methode mit überall wiederverwendeten Variablen debuggen muss, bin ich total verloren.
- Einige Änderungen oder Umgestaltungen, die ich vorgenommen habe, führten zu Fehlern an anderen Stellen der Anwendung.
- Ohne Dokumentation, Tests oder eine beobachtbare Architektur und kombiniert mit schlecht benannten Methoden habe ich das Gefühl, dass ich meinen gesamten verfügbaren Arbeitsspeicher auffülle. Für all die anderen Dinge, an die ich mich erinnern muss, um den Code zu verstehen, den ich ändern soll, bleibt kein Platz mehr.
- Ständige Unterbrechungen am Arbeitsplatz stören und bremsen mich.
- Ich kann mich nicht an mehr als zwei oder drei Aufgaben gleichzeitig erinnern, ohne ein Fehlerverfolgungssystem, und ich vergesse sie alle über das Wochenende.
Meine Kollegen scheinen keine ähnlichen Probleme zu haben.
- Sie können schlecht geschriebene Methoden viel schneller debuggen als ich.
- Sie führen weniger Fehler ein als ich, wenn ich die Codebasis ändere.
- Sie scheinen sich sehr gut an alles zu erinnern, was sie brauchen, um den Code zu ändern, selbst wenn es erforderlich ist, Tausende von Codezeilen in zwanzig verschiedenen Dateien zu lesen.
- Sie scheinen nicht durch E-Mails, klingelnde Telefone, Menschen, die sich überall unterhalten, und andere Menschen, die ihnen Fragen stellen, gestört zu werden.
- Sie möchten nicht das Bug-Tracking-System verwenden, das wir bereits haben, da wir TFS verwenden. Sie ziehen es vor, sich an jede Aufgabe zu erinnern, die sie erledigen sollten.
Warum passiert das? Ist es eine besondere Fähigkeit, die Entwickler erwerben, wenn sie lange Zeit mit schlecht geschriebenem Code arbeiten? Trägt meine relative mangelnde Erfahrung mit schlechtem Code zu diesen Problemen / Gefühlen bei? Habe ich Probleme mit meinem Gedächtnis?