人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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を返すメソッドなのですが、適切なメソッド名が思い浮かびません。

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


●質問者: wankodon
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sibazyun
●34ポイント

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


wankodonさんのコメント
回答有り難うございます。 参考にさせて頂きます。

2 ● a-kuma3
●33ポイント ベストアンサー

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

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

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


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

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


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

3 ● nattow
●33ポイント

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プロパティにセット
}

wankodonさんのコメント
機能を分割するということですね、なるほど。 回答有り難うございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ