5

DAO メソッドの標準命名規則DAO クラス メソッドの命名 に関する質問に関連してい ます。

DAO クラスのメソッドが似ている理由:

getUserById(int id)
getUserByUsernameAndPassword(String username, String password)

それ以外の:

getUser(int id)
getUser(String username, String password)

Eclipse のような IDE では、getUser と入力し始めると、両方の自動提案が表示されます。また、パラメータに応じて、どの方法を使用するかを選択できます。

もちろん、これは過負荷です。オーバーロードを避け、パラメータごとに異なるメソッド名を使用するのはなぜですか? それとも避けているのでしょうか?

よろしく。

4

1 に答える 1

4

提案された命名スキームは、2 つの (明白な) 方法で失敗します。

最初の方法、競合するメソッド シグネチャ:

getUser(int id);
getUser(int age);
getUser(String username, String password);
getUser(String firstname, String lastname);

2 番目の方法は、パラメーターの型と名前を確認する必要がある不明確なコードです。

// What's being used to search for users in this code?
User user = getUser(poorlyNamedVariable);  

潜在的なエラーは言うまでもなく、変数が思った型ではない場合です。

于 2015-08-12T09:43:59.723 に答える