関数名のつけ方について考える

アバター
せんちゃ
記事: 50
登録日時: 14年前
住所: 江別市東野幌町
連絡を取る:

関数名のつけ方について考える

投稿記事 by せんちゃ » 11年前

仕事でよく見るのですがMethod~とか~Funcみたいな関数名がよくあるんですよ。
でも考えてみてください、メソッドはMethodと明記しなくてもメソッドだってわかるわけでそれを書く必要性ってなんだろう?と思うのです。
Funcはコールバック関数のパラメータ名として使うことはあるかもしれないがやっぱり関数名として考えると一般的ではない。

まぁそういう規則性のない関数名ってどうなんでしょうと思います。
そういう意味で関数名というのは非常に重要です。
第三者が読むとき、どういう名前かによって読みやすさとコードに対する印象は変わるはずです。
よくプログラマの適正に文系がどうのこうのとか理系がどうのこうのとかいう話題が出ますが
こういう部分はむしろ文系的であったほうがいいのではないでしょうか。

Set~という関数とBuild~という関数があれば
Set~はデータセットの振る舞い、Build~は生成の振る舞いと感じるはずです。
~Factoryとか~Creatorとか~Builderとかであれば何かを生成する振る舞いを持ったクラスだし
~Observerとか~Listenerなら何かイベントがあったときにコールバックされるイベントハンドラであると予測できます。
関数名がgetInstance()、Instance()なら大抵の場合シングルトンです。


最近は他人のコードを追わなければいけない機会が増えていますが
この辺の命名にしかるべきルールのあるプログラムは非常に追い易い。
コメントがなくても読めるコードほど優秀なコードとはよくいいますが、ちゃんとした命名規則でかつ関数の役割がシンプルなコードはとても読みやすいので
理想的なコードで優秀といえるのかもしれません。


関数の名前がSet~だからまぁデータセットだろうと踏んでいたらインスタンス生成だったりすることがよくあって
やっぱり名前って大事だよなと感じる今日この頃

ではでは

アバター
nullptr
記事: 239
登録日時: 13年前

Re: 関数名のつけ方について考える

投稿記事 by nullptr » 11年前

この世界にはhogeという意味不明な関数名が(略

アバター
せんちゃ
記事: 50
登録日時: 14年前
住所: 江別市東野幌町
連絡を取る:

Re: 関数名のつけ方について考える

投稿記事 by せんちゃ » 11年前

hogeという関数はたまに見ますがテストコードくらい消せよと思いますね