引数が長い時の改行

コーディング規約らへんの話。タイトルに引数長い時って書いたけど配列とかマップ初期化する時も同じ。

twitterに書いたんだけど最近のtwitter(前からだっけ?)はWebで見ると改行がスペース扱いになるっぽいので詳しくブログに書き直し。

正直、何でもいいんだけど自分の好みと好む理由ぐらいはどっかに書いといた方が説明する時「ここ見て」で済みそうだから書いとく。

しばらくの間 Ruby 書くことが多くなってるから Ruby に影響された部分は否めないです。 有名どころのRubyコーディング規約とかは守ったことないので知らんです。

1. 自分が書く時

上から下にざーっと眺めてけば読める縦に長くて横に短いコードが好きなのでこんな感じ。

終点分かりやすいし、引数の最後の,(カンマ)が許されてる言語だと追加もしやすいしってところ。

hoge(
  'aaa',
  'bbb',
)

2. もやっとするやつ

  1. のやつは最後の括弧の分だけで行が増えるのが嫌という意見を聞いたことがある。 なんで行が増えるのが嫌なんだろうって疑問が沸いたけど、その時は面倒だったからスルーした。
hoge(
  'aaa',
  'bbb')

3. 正直見たら直したいやつ

横に長くなりがちだし 、1. で書いた利点活かせないし、「こういう書き方する理由ってなんなの?」って正直聞きたいんで誰か教えてください。 デフォルトのフォーマッターがそうなってるからってのなしで。

hoge('aaa',
     'bbb')

4. 最近周囲で見かけてないやつ

関数名の横に ( があった方がその関数の始点であることが明確だと思うんです

hoge
(
  'aaa',
  'bbb'
)