Per me dipende dalle dinamiche della tua squadra.
Ad esempio, se si dispone di un team che non è unificato per standard, peer review, test metodici o se si dispone di un team in cui i livelli di competenza variano notevolmente tra i membri, potrebbe essere utile cercare una nozione più forte di proprietà del codice con una mentalità modulare più black-box.
In mancanza di questo, ad esempio, l'interfaccia progettata con cura e conforme ai principi SOLID potrebbe essere rapidamente rovinata da qualcuno che non conosce nemmeno i mezzi "SOLID" e desidera aggiungere continuamente nuove funzioni eclettiche all'interfaccia per "praticità", ad es. Questo è di gran lunga il peggiore.
Potresti anche avere a che fare con colleghi sciatti la cui idea di correggere un bug risolve il sintomo senza comprendere il problema alla radice (ad esempio: provare a rispondere a un rapporto di crash semplicemente inserendo soluzioni alternative nel codice solo per nascondere il bug e trasferire il micidiale effetti collaterali a qualcun altro). In tal caso, non è così male come il sabotaggio della progettazione dell'interfaccia e puoi proteggere le tue intenzioni con test unitari accuratamente costruiti.
La soluzione ideale è quella di rafforzare la tua squadra fino a un punto in cui questa nozione di paternità e proprietà non diventa più così importante. La revisione tra pari non riguarda solo il miglioramento della qualità del codice, ma anche il miglioramento del lavoro di squadra. Gli standard non riguardano solo la coerenza, ma migliorano il lavoro di squadra.
Tuttavia ci sono scenari in cui la revisione tra pari e in realtà avere tutti conformi a uno standard è semplicemente senza speranza e porterà un sacco di critici irrimediabilmente inesperti nel mix. Direi che il fatto che la proprietà del codice o la proprietà del team abbia una priorità più forte si baserà sulla capacità del tuo team di eseguire effettivamente un'efficace revisione tra pari e lasciare effettivamente tutti quelli che ne traggono beneficio (entrambi in termini di revisione stessa e di conseguenza si avvicinano maggiormente alla mentalità e agli standard). In squadre grandi, libere e / o disparate, questo potrebbe sembrare senza speranza. Se la tua squadra può funzionare come una "squadra" in cui riesci a malapena a dire chi ha scritto cosa, allora la proprietà esclusiva inizierà a sembrare un'idea sciocca.
In questi tipi di scenari tutt'altro che ideali, questa nozione di proprietà del codice può effettivamente aiutare. Sta cercando di rimediare allo scenario peggiore, ma può aiutare se il lavoro di squadra è generalmente senza speranza di mettere un recinto attorno al codice di un autore. In tal caso, sta diminuendo il lavoro di squadra, ma ciò può essere migliore se il "lavoro di squadra" porta solo a un passo avanti.