新人さんの JavaScript のコードレビューをしていて、 if 文の本体部分を波括弧で囲っていないコードを見つけた。
おれは本体が一行しかなくても必ず波括弧で囲うようにしており(そのほうがわかりやすいと思っているから)、できればそうして欲しいけど個人の好みを押し付けるのはよくないので、広く支持されているコーディングスタイルガイドの類いで同様の主張をしているものが無いか探した。
Google とか Mozilla とか GitHub あたりのドキュメントを眺めてみたが if 文の波括弧についてはっきり言及している箇所を見つけられずにいたら、該当するドキュメントをいくつか教えてもらった。
- http://contribute.jquery.org/style-guide/js/#spacing
if/else/for/while/try always have braces and always go on multiple lines.
- https://github.com/airbnb/javascript#blocks
Use braces with all multi-line blocks.
- http://www.jshint.com/docs/options/#curly
追記: あと https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style にも載っていた。
Always brace controlled statements, even a single-line consequent of an if else else. This is redundant typically, but it avoids dangling else bugs, so it's safer at scale than fine-tuning.
@kyanny jQueryのコーディング規約などどうですか http://t.co/s3494YA9Ie 「if/else/for/while/try always have braces and always go on multiple lines.」
— ルイボスティー (@hanachin_) June 2, 2014
@kyanny あとはAirbnbとか https://t.co/OKhUJLlfF2 「Use braces with all multi-line blocks.」(権威あるかはわからないですが
— ルイボスティー (@hanachin_) June 2, 2014
@kyanny 『JavaScript: The Good Parts』 の付録 C.7 (とその体現である jslint)、 jslint のよく使われているフォーク版(?) jshint の curly オプションとかですかね http://t.co/PYXLUokXJ9
— Takuto Wada (@t_wada) June 2, 2014