まめログ

Javaプログラマの歩み

メソッドの命名について

Twitterで話題になっていたので備忘録として。

発端は以下のしょぼちむさんのツイート。

 

 

 

isBefore(fromDate, toDate)
これは混乱の元ですよね。

最初の例にある通り、fromDate.isBefore(Date date)っていう形が分かりやすいです。

 

僕はこんな返答をしましたが、今思えば、最初に例示されてる例そのまんまですね。

 

 JVM界のイケメン、たろうさんの案。
僕もクラスの抽出が出来ない場合ならこれを採用します。

boolean型の戻り値なので、is~で始める場合は、isDifferentOrderDate()とか…。
ちょっと英語に自信がないですが。。。

 


でこれ、SIer的詳細設計書(Excel方眼紙ですよ!)にはこんな感じで書いてあるんだろうと推測。

 

<終了日が開始日より前の日付の場合>

・エラーとする

詳細設計書があれば、誰でも同じコードになるというのがSIer的論理ですが、
上述のように、分かりにくくも分かりやすくも如何様にも書けます。

コーディングが如何にプログラムの質を左右するかというお話。