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

プログラムする際に「isVaild()」など、先頭にisがつく関数(メソッド)名の返値はbooleanという命名方法があるようですが、それ以外にありましたら教えてください。

ちなみに「get?、set?」以外のものでお願いします。

※URLのみの回答はご遠慮ください


●質問者: xxmasaxx
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:SET URL プログラム メソッド 返値
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● matsuoki
●30ポイント ベストアンサー

http://www.kawabata.com/dotnet/CodingStdCS.pdf より

(20) Boolean変数を返すメソッド

Is + 形容詞、Can + 動詞、Has + 過去分詞、三単元動詞、三単元動詞 + 名詞。

(21) bool変数

形容詞、is + 形容詞、can + 動詞、has + 過去分詞、三単元動詞、三単元動詞 + 名詞。

として、

bool IsEmpty()

bool CanGet()

bool HasChanged()

bool Contains(object x)

bool ContainsKey(string key)

bool isEmpty;

bool dirty;

bool containsMoreElements;

などがあげられています

悪い例:

bool Empty() //「空にする」という動詞的な意味に取れる。

bool CheckXXX() // trueがどちらの意味か分かりづらい。

理由: if, while文等の条件が読みやすくなる。またtrueがどちらの意味か分かりやすい。

別に決まりがあるわけではなく、その方が読みやすい、ってだけだと思います。

(まぁそれをまとめていくとコーディング規則になるんでしょうけど。)

◎質問者からの返答

おおっ結構色々あるんですね。リンク先のPDFも参考になりました。

回答どう有り難うございました。


2 ● hijk05
●20ポイント

http://www.shos.info/develop/xp/cplusstd.html

◎質問者からの返答

ありがとうございます。


3 ● 天井冴太
●20ポイント

is?、get?、set?もそうですが、『関数は動詞で始める』というのは結構一般的な命名規則かと思います。

他には、

等も結構一般的ではないかと。

もっと全体的な話をすると、

isValidのように、『名前を構成する単語の先頭の文字を大文字で書く

』ものを『ラクダ記法』(大文字をらくだの瘤に見立ててます)、

is_validのように、『単語と単語の間を"_"で区切る』ものを『ヘビ記法』(ヘビのように文字が(瘤無しで)続くので)と呼んだりします。

また、名前の前、或いは後に、対象の性質を表す文字を付加するという『ハンガリアン記法』という物も存在します。

id:tomopo氏の挙げた『コーディング規約』の他、『命名規則』もググってみるといいでしょう。

◎質問者からの返答

ヘビ記法は初めて聞きました。

『命名規則』で調べてみます。回答有り難うございました。


4 ● もなか
●20ポイント

リスト型から配列型に変換する toArray() …とか?

Java, JavaScript, PHP, .NET系,などなど複数の言語でこのメソッドはあります.

ちなみに,LISP系では,booleanを返す関数はisXXXではなくXXXpやXXX?という表記が使われることが多いです.

その流れで,他の言語でも boolean を返す関数やマクロに _p という suffix を付ける場合があります.

下記は,GNU系のツールでお馴染みの libiberty のコードの一部です.

#define hex_p(c)(hex_value (c) != _hex_bad)

◎質問者からの返答

なるほど、言語によっても違いがあるんですね。面白い。

有り難うございました。

関連質問


●質問をもっと探す●



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