Dipende molto dalla situazione concreta. Supponiamo che la nuova proprietà che hai aggiunto sia obbligatoria, vale a dire che deve essere impostata sempre. Quindi devi cercare tu stesso il codice e aggiornarlo ovunque companyObj
venga creato un, per assicurarti che sia costruito correttamente (inclusa l'impostazione della nuova proprietà). Suppongo che PHP abbia dei costruttori, nel qual caso devi solo aggiungere un nuovo parametro del costruttore e il compilatore contrassegnerà automaticamente ogni chiamata del costruttore senza il parametro aggiuntivo come errore di compilazione. Ciò garantirà inoltre che i compagni di squadra vengano a conoscenza della nuova proprietà non appena utilizzano a companyObj
.
Se la nuova proprietà è facoltativa, tuttavia, le cose sono meno chiare. È possibile o meno disporre di un valore predefinito adeguato per questo. In quest'ultimo caso, suggerirei comunque di aggiornare tutte le creazioni dell'istanza per impostare la nuova proprietà ogni volta che è opportuno. Questo per garantire che il codice sia sempre mantenuto in uno stato coerente .
Comunicare la modifica ai tuoi compagni di squadra è un altro passo lontano qui. I team agili preferiscono la comunicazione faccia a faccia e, IMHO, per una buona ragione. Affidarsi ai documenti è un mezzo molto lento e inefficace per diffondere informazioni all'interno di una squadra. Un Wiki è un po 'meglio, ma documentare ogni singolo attributo di classe è eccessivo per IMHO. Diventerà solo un enorme onere per la squadra ed è presto destinato a diventare inaffidabile e inutile in ogni caso, poiché siamo umani, quindi siamo tenuti a dimenticare l'aggiornamento a volte, inoltre scommetto che non molti membri del team lo faranno regolarmente controlla la documentazione (sia essa in qualsiasi forma) per essere informato delle ultime modifiche al codice.
Quest'ultimo vale anche per la documentazione generata automaticamente, ad esempio Javadoc o Doxygen. Sebbene possano essere configurati in una build automatica per mantenere sempre aggiornata la documentazione generata, non ho mai visto un team di sviluppo con membri che navigano regolarmente attraverso la documentazione per ottenere informazioni sulle ultime modifiche al codice. E se stai usando un sistema di controllo del codice sorgente, il primo posto in cui notare le modifiche è quando aggiorni la tua copia locale del codice, quindi puoi controllare le modifiche nelle classi familiari e vedere esattamente cosa e come è cambiato (insieme a un breve spiegazione e / o riferimento a un ID attività, se il tuo team è abituato ad aggiungere commenti significativi sul check-in - che mancherà tra i documenti generati automaticamente).
La comunicazione è una delle ragioni principali per cui i team Extreme Programing abbinano la programmazione. Se apporti le modifiche insieme a un compagno di squadra, ci sono subito due di voi che sono a conoscenza di ciascuna modifica e la prossima volta che ciascuno di voi si accoppierà con qualcun altro, così informazioni utili si diffonderanno abbastanza rapidamente. Tuttavia, non è sempre applicabile, per vari motivi. A parte questo, puoi semplicemente parlare con i tuoi vicini del cambiamento in un momento appropriato (ad esempio durante il pranzo, se ti capita di pranzare insieme), o inviare una mail se si tratta di un cambiamento più grande, più importante o più complicato.
In quest'ultimo caso, potrebbe esserci un buon motivo per documentarlo correttamente. I documenti di progettazione IMHO sono i migliori quando offrono una visione generale del sistema a grana grossa, mentre i dettagli di implementazione sono nel codice (aderendo al principio DRY ).