Für mich kommt es auf die Dynamik Ihres Teams an.
Wenn Sie beispielsweise ein Team haben, das nicht durch Standards, Peer Review, methodische Tests oder ein Team mit stark unterschiedlichen Kompetenzstufen unter den Mitgliedern vereinheitlicht ist, empfiehlt es sich, eine stärkere Vorstellung von Code-Inhaberschaft anzustreben mit einer Black-Box-modularen Denkweise.
Fehlt dies zum Beispiel, kann Ihre sorgfältig gestaltete Oberfläche, die den SOLID-Prinzipien entspricht, schnell von jemandem zerstört werden, der nicht einmal "SOLID" kennt und der aus "praktischen Gründen" ständig neue vielseitige Funktionen hinzufügen möchte, z Dies ist bei weitem das Schlimmste.
Sie können sich auch mit schlampigen Mitarbeitern befassen, deren Idee, einen Fehler zu beheben, darin besteht, das Symptom zu beheben, ohne das Grundproblem zu verstehen (z. B .: Sie versuchen, auf einen Absturzbericht zu reagieren, indem Sie einfach Problemumgehungen in den Code einfügen, um den Fehler zu verbergen und den tödlichen Fehler zu übertragen Nebenwirkungen zu jemand anderem). In diesem Fall ist es nicht ganz so schlimm wie die Sabotage des Schnittstellendesigns, und Sie können Ihre Absichten mit sorgfältig ausgearbeiteten Komponententests schützen.
Die ideale Lösung besteht darin, Ihr Team zu einem Punkt zusammenzuziehen, an dem dieser Begriff von Urheberschaft und Eigenverantwortung nicht mehr so wichtig ist. Beim Peer Reviewing geht es nicht nur um die Verbesserung der Codequalität, sondern auch um die Verbesserung der Teamarbeit. Bei Standards geht es nicht nur um Konsistenz, sie verbessern auch die Teamarbeit.
Es gibt jedoch Szenarien, in denen Peer Review und die Konformität aller mit einem Standard einfach hoffnungslos sind und viele hoffnungslos unerfahrene Kritiker in die Mischung bringen. Ich würde sagen, dass eine Menge davon, ob Code-Besitz oder Team-Besitz eine höhere Priorität haben, von der Fähigkeit Ihres Teams abhängt, eine effektive Peer-Überprüfung durchzuführen und tatsächlich alle so herauszuholen, wie sie davon profitiert haben (sowohl in Bezug auf die Überprüfung selbst) und dadurch in Denkweise und Standards enger zusammenrücken). In großen, lockeren und / oder ungleichen Teams mag dies hoffnungslos erscheinen. Wenn Ihr Team wie ein "Kader" funktioniert, in dem Sie kaum sagen können, wer was geschrieben hat, wird Alleinbesitz wie eine dumme Idee erscheinen.
In solchen Szenarien, die alles andere als ideal sind, kann dieser Begriff der Code-Inhaberschaft tatsächlich hilfreich sein. Es wird versucht, ein Worst-Case-Szenario zu verbessern, aber es kann hilfreich sein, wenn Teamwork im Allgemeinen hoffnungslos ist, den Code eines Autors zu umzäunen. In diesem Fall verringert sich die Teamarbeit, aber das kann besser sein, wenn "Teamarbeit" nur zu Zehensprüngen führt.