仕事でよく見るのですがMethod~とか~Funcみたいな関数名がよくあるんですよ。
でも考えてみてください、メソッドはMethodと明記しなくてもメソッドだってわかるわけでそれを書く必要性ってなんだろう?と思うのです。
Funcはコールバック関数のパラメータ名として使うことはあるかもしれないがやっぱり関数名として考えると一般的ではない。
まぁそういう規則性のない関数名ってどうなんでしょうと思います。
そういう意味で関数名というのは非常に重要です。
第三者が読むとき、どういう名前かによって読みやすさとコードに対する印象は変わるはずです。
よくプログラマの適正に文系がどうのこうのとか理系がどうのこうのとかいう話題が出ますが
こういう部分はむしろ文系的であったほうがいいのではないでしょうか。
Set~という関数とBuild~という関数があれば
Set~はデータセットの振る舞い、Build~は生成の振る舞いと感じるはずです。
~Factoryとか~Creatorとか~Builderとかであれば何かを生成する振る舞いを持ったクラスだし
~Observerとか~Listenerなら何かイベントがあったときにコールバックされるイベントハンドラであると予測できます。
関数名がgetInstance()、Instance()なら大抵の場合シングルトンです。
最近は他人のコードを追わなければいけない機会が増えていますが
この辺の命名にしかるべきルールのあるプログラムは非常に追い易い。
コメントがなくても読めるコードほど優秀なコードとはよくいいますが、ちゃんとした命名規則でかつ関数の役割がシンプルなコードはとても読みやすいので
理想的なコードで優秀といえるのかもしれません。
関数の名前がSet~だからまぁデータセットだろうと踏んでいたらインスタンス生成だったりすることがよくあって
やっぱり名前って大事だよなと感じる今日この頃
ではでは
関数名のつけ方について考える
Re: 関数名のつけ方について考える
hogeという関数はたまに見ますがテストコードくらい消せよと思いますね