それは具体的な状況に大きく依存します。追加した新しいプロパティが必須であると仮定します。つまり、常に設定する必要があります。次に、コードを自分で検索し、a companyObj
が作成されたすべての場所でコードを更新して、コードが正しく構築されていることを確認する必要があります(新しいプロパティの設定を含む)。PHPにはコンストラクターがあると思います。この場合、新しいコンストラクターパラメーターを追加するだけで、コンパイラーは余分なパラメーターなしですべてのコンストラクター呼び出しをコンパイルエラーとして自動的にマークします。これにより、チームメイトがを使用するとすぐに新しいプロパティについて知ることができますcompanyObj
。
ただし、新しいプロパティがオプションの場合、状況は明確ではありません。適切なデフォルト値がある場合とない場合があります。後者の場合でも、すべてのインスタンスの作成を更新して、必要に応じて新しいプロパティを設定することをお勧めします。これは、コードが常に一貫した状態に保たれるようにするためです。
チームメイトに変更を伝えることは、ここでのもう1つの遠いステップです。アジャイルチームは、顔を合わせてコミュニケーションすることを好みますが、IMHOには正当な理由があります。ドキュメントに依存することは、チーム全体に情報を広めるための非常に遅くて非効率的な手段です。Wikiの方がいくらか優れていますが、それでも、すべてのクラス属性を文書化することはIMHOのやりすぎです。これはチームにとって大きな負担になるだけで、とにかく信頼性がなくなり、役に立たなくなることになります。私たちは人間なので、更新を忘れることがあります。さらに、多くのチームメンバーが定期的に参加することはないでしょう。ドキュメントをチェックして(どのような形式であっても)、最新のコード変更に関する情報を入手してください。
後者は、JavadocやDoxygenなどを介して自動的に生成されるドキュメントにも当てはまります。自動ビルドに構成して、生成されたドキュメントを常に最新の状態に保つことができますが、メンバーがドキュメントを定期的に参照して最新のコード変更について通知を受ける開発チームを見たことはありません。そして、ソース管理システムを使用している場合、変更に気付く最初の場所は、とにかくコードのローカルコピーを更新するときです。その後、おなじみのクラスの変更をチェックし、何がどのように変更されたかを正確に確認できます(チームが意味のあるチェックインコメントを追加することに慣れている場合の簡単な説明やタスクIDへの参照-自動生成されたドキュメントには表示されなくなります)。
コミュニケーションは、エクストリームプログラミングチームがペアプログラミングを行う主な理由の1つです。チームメイトと一緒に変更を加えると、各変更についてすぐに知っている2人がいます。次回は、それぞれが他の誰かとペアになる予定なので、役立つ情報がすぐに広まります。ただし、さまざまな理由により、常に適用できるとは限りません。それを除けば、適切な瞬間(たとえば、昼食時、一緒に昼食をとった場合)に変更について近所の人に話すか、それがより大きく、より重要な、またはより複雑な変更である場合は、メールを送信することができます。
後者の場合、それを適切に文書化する正当な理由があるかもしれません。IMHO設計ドキュメントは、実装の詳細がコードにある(DRY原則に準拠している)システムの大まかな高レベルの概要を提供する場合に最適です。