Quando si esercita la proprietà collettiva del codice, possono esserci esperti di ciascun componente?

0

Considerare un componente software complesso ed esteso; ad esempio un motore di rendering di testo multilingue, un framework IPC, uno scheduler in grado di gestire più fusi orari, un modulo pieno di complessità causato dalla necessità di rimanere retrocompatibili, ecc. Richiede molta conoscenza dei dettagli per mantenere ed estendere tale componente senza introdurre bug con ogni cambiamento di codice. Spesso è anche utile conoscere la cronologia dei bug quando si riceve una nuova segnalazione di bug. Inoltre, richiede una conoscenza approfondita del design del componente per essere in grado di mantenere la sua coerenza dopo le future estensioni, ed è bene conoscere la logica dietro le decisioni di progettazione passate. Potresti provare a documentare questo tipo di conoscenza, ma richiederebbe molto tempo e sforzi, diventerebbe rapidamente obsoleto e quindi non affidabile. Peggio ancora, tutti avrebbero ancora bisogno di tenere a mente quella documentazione scritta.

Mi sembra che per tali componenti, è meglio avere qualcuno che abbia una conoscenza approfondita, in quanto non si può conoscere a fondo e tenere il passo con il codice prodotto da un intero gruppo di persone senza una comunicazione eccessiva e l'apprendimento in testa . Mi chiedo se la pratica della proprietà del codice collettivo consenta a tali esperti, come mi sembra che richiederebbe alcuni tipo di "proprietà del codice debole". E se no: come può avere successo senza una quantità enorme di lavoro duplicato?

    
posta Dimitri C. 01.07.2011 - 11:37
fonte

2 risposte

3

In pratica, i programmatori che hanno creato un file sorgente sono quelli che molto probabilmente eseguiranno la maggior parte delle modifiche in quel file. La proprietà del codice collettivo non significa che le attività vengano assegnate senza considerare chi è la persona più competente per tale compito.

Ma se un altro programmatore ha bisogno di un cambiamento ed è in grado di farlo da solo, è consentito a farlo senza chiedere il permesso al programmatore originale.

    
risposta data 01.07.2011 - 12:10
fonte
3

Penso che la nozione di proprietà collettiva del codice stia in realtà solo cercando di combattere la nozione malata che "Non posso toccare quel modulo, perché è il codice di Bob": - Non c'è (per me) alcuna ragione tecnica perché non si può avere la proprietà collettiva del codice (nel senso che tutti sono in grado di modificare tutto nel repository) E gli esperti con responsabilità primaria per una particolare libreria, modulo o prodotti. La sfida principale è quella di man-management & psicologia organizzativa; e come si promuoverebbero gli atteggiamenti appropriati nel team di sviluppo.

    
risposta data 10.01.2012 - 15:07
fonte

Leggi altre domande sui tag