PHPのクラスのメソッド名の付け方について質問です。


以下のようにホスト名(a.hoge.com)をDNSに問い合わせ、IPアドレスの一覧を取得し、内部のプロパティに配列としてセットするメソッドがあるとします。

public function setHoge($hostName)
{
   $lists = $this->_getHostIPs($hostName); // DNSからIPアドレスを取得

   if (!count($lists)) {
      return FALSE; // 一覧が見つからない場合はFALSE
   }

   $this->servers = $lists; // serversプロパティにセット
   return TRUE; // TRUEを返す
}

返り値として、一覧を取得できればTRUEを、そうでなければFALSEを返すメソッドなのですが、適切なメソッド名が思い浮かびません。

直感的に分かりやすいメソッド名がありましたら教えて下さい。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/12/24 11:02:28
  • 終了:2013/12/31 11:05:04

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4443ベストアンサー獲得回数18252013/12/24 13:30:38

ポイント33pt

戻りが TRUE / FALSE なメソッドので
もしクラス名が DNS を表す(もしくは包含する)ようなクラス名だったら、
isRegisterd($hostname) とか、hasRecord($hostname) 。

もしクラス名が DNS とまるで関係ないようなクラス名だったら、
isRegisterdInDNS($hostname) とか、hasRecordInDNS($hostname) 。

# isExist() は、何となくしっくりこない


DNS に問い合わせているんだよ、ということをメソッド名でアピールしたいのなら、
もしクラス名が DNS を表す(もしくは包含する)ようなクラス名だったら、
query($hostname) 。

もしクラス名が DNS とまるで関係ないようなクラス名だったら、
queryDNS($hostname) 。

id:wankodon

クラス名にDNSは含めないので、has~がしっくりきそうです。
参考になりました。回答どうも有り難うございます!

2013/12/26 07:28:29

その他の回答(2件)

id:sibazyun No.1

sibazyun回答回数1744ベストアンサー獲得回数2352013/12/24 13:08:10

ポイント34pt

わかりやすいのがよいのなら、ローマ字をつかって setIchiran とか、
英語の一部をつかって set AdList とかではどうでしょうか。

id:wankodon

回答有り難うございます。
参考にさせて頂きます。

2013/12/26 07:26:05
id:a-kuma3 No.2

a-kuma3回答回数4443ベストアンサー獲得回数18252013/12/24 13:30:38ここでベストアンサー

ポイント33pt

戻りが TRUE / FALSE なメソッドので
もしクラス名が DNS を表す(もしくは包含する)ようなクラス名だったら、
isRegisterd($hostname) とか、hasRecord($hostname) 。

もしクラス名が DNS とまるで関係ないようなクラス名だったら、
isRegisterdInDNS($hostname) とか、hasRecordInDNS($hostname) 。

# isExist() は、何となくしっくりこない


DNS に問い合わせているんだよ、ということをメソッド名でアピールしたいのなら、
もしクラス名が DNS を表す(もしくは包含する)ようなクラス名だったら、
query($hostname) 。

もしクラス名が DNS とまるで関係ないようなクラス名だったら、
queryDNS($hostname) 。

id:wankodon

クラス名にDNSは含めないので、has~がしっくりきそうです。
参考になりました。回答どうも有り難うございます!

2013/12/26 07:28:29
id:nattow No.3

nattow回答回数102ベストアンサー獲得回数272013/12/24 22:48:53

ポイント33pt

boolean を返すメソッドということは、おそらく

$bool = $obj->setHoge($hostName)

if($bool){
    // 見つかったときの処理
}else{
    // 見つからなかったときの処理
}

のような処理をされると想像できますが、であれば
そのメソッドは IP アドレスを取得する役割だけを持たせて
getIPAddressList とでもしておき、返却されたリストの中身があるかどうかで判断するのも一案です。

public function getIPAddressList($hostName)
{
   return $this->_getHostIPs($hostName);
}


$lists = $obj->getIPAddressList($hostName);

if (count($lists)) {
    $this->servers = $lists;	// serversプロパティにセット
}
id:wankodon

機能を分割するということですね、なるほど。
回答有り難うございます。

2013/12/26 07:29:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません