私が割り当てられているプロジェクトで、このコード (もちろん単純化されています) に出くわしました。
方法オプション 1
public myType getSomething(final int pTeamId) {
this.teamId = pTeamId;
final ClassABC classABC = new ClassABC(pTeamId);
...
return myType;
}
メソッドの最初の行で、入力パラメーターpTeamId
がプライベート データ メンバーにどのように割り当てられているかに注意してください。teamId
このデータ メンバーには getter メソッドと setter メソッドがあることに注意してくださいteamId
(簡単にするために、あえて含めませんでした。標準の getter/setter ペアであることを知っておいてください)。
したがって、メソッド オプション 1 のように直接渡された入力パラメーターを使用する代わりに、設定したばかりのデータ メンバーのゲッターを呼び出す場合に、このメソッドを別の方法で記述できると思います。
方法オプション 2
public myType getSomething(final int pTeamId) {
this.teamId = pTeamId;
final ClassABC classABC = new ClassABC(this.getTeamId());
...
return myType;
}
この質問は些細なことやばかげているように見える人もいるかもしれませんが、私が変更している大規模なコードベースでこの状況に頻繁に遭遇しているので、これにアプローチするための「正しい」方法、メソッドオプション1または方法オプション 2。
このスレッドに出くわしましたが、JavaScript をターゲットにしています: getter 関数の速度と直接アクセス
私の最初の傾向は、方法オプション1を使用することですが、「より速く見える...」 以外に、正当な理由はありません。
他の誰かがより良い理由を提供できますか?
具体的には、
1) このシナリオには、適切な/推奨される規則/技法/慣行がありますか?
と
2)ある選択肢が他の選択肢よりも優れているのはなぜですか? それらは等しいですか?パフォーマンスの問題はありますか? 等
私が聞いていない質問はありますか? (または、これはすべて過剰分析ですか)?
任意の洞察をいただければ幸いです。