LoginSignup
0
1

More than 5 years have passed since last update.

JavaのBuilderでのメソッドチェーンのメソッド名+α

Posted at

JavaのBuilderパターンで

Builderパターンを用いてClientクラスを生成する処理を実装していた際、
自分はパラメタを設定するメソッド名に「header」とか「body」とか、パラメタ名をそのまま指定する派なのですが、
setとかaddとか、動詞が接頭辞として付いてた方がJavaらしいし分かりやすくていいよね。という話がありました。
(headerとかだけだと、上書きされるのか追加されるのか分かりにくい=結果が分かりにくい)

自分が使ったことがあるフレームワークやライブラリではパラメタ名のみの方が多いイメージなのですが、
Javaらしさと言われれば確かに動詞としての接頭辞がある方がしっくりくる気がします。(分かりやすさもしかり)
ネット上のBuilderパターンの説明でもパラメタ名のみが多いので、パラメタ名のみがスタンダードだと(個人的には)思ってますが、どちらが一般的なのでしょう。。

+α

上記に関連して、メソッドチェーンの好き嫌いについても話題になったので。
自分はメソッドチェーン大好き派なので、結構実装では多用したくなっちゃいます。
が、「1行で全部連なって書かれてると消したい場所だけ消すのにマウス操作とかの手間がかかるから苦手。」という意見を受け、あくまで好き嫌いの問題ですが、意外と苦手な人も多いんだなという認識を受けました。
(簡潔に記述できて自分は好きなのですが。。)

ということで

話の中で話題として上がったので、何となく書き連ねてみました。

皆さんはどちら派でしょうか?
自分はパラメタ名のみ派 + メソッドチェーン大好き派です。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1