タブ、スペース2個、スペース4個・・・などいくつかの選択肢があります。個人で開発している方は問題ありませんが、チームで開発している場合は意見が分かれ議論になることもあるでしょう。プロジェクト開始早々インデント論争でチーム内の雰囲気を悪くしたくはありません。本記事はそんなインデント論争の1つの解決策となるべく、ブラウザベンダーやプロダクトで定めているJavaScriptコーディングのインデントルールを調べてみました。それはそれぞれ一長一短のため好みが分かれてしまうからです。ここではインデントの種類毎のメリット・デメリットをご紹介します。タブメリット開発者が自分好みにインデント幅が変えられるインデント移動時のキータイプが少ないデメリット位置揃えとして使用すると環境によって崩れるスペースメリット環境に左右されず同じ見た目でソースが表示されるデメリット同じスペース派内でもスペースの数で派閥が生まれるインデント移動時のキータイプが多いスペース派内の派閥スペースのデメリットに挙げたように同じスペース派の中でもスペースをいくつ使うかで派閥が生じます。2個派、4個派、8個派のいずれかです。スペースが少ない場合は冗長にならずコードの折り返しが起こりにくく、スペースが多い場合は入れ子構造が把握しやすく可読性が高いといったそれぞれの長所があります。JSコーディング規約のインデントルールを調べてみたそれでは世の中でどういった形のインデントが使用されているのか見ていくことにしましょう。企業や組織のJSコーディング規約内のインデントルールまずはブラウザベンダーを中心に、公開されているコーディング規約からインデントルールを抜粋し次の表にまとめました。GuidelinesJSライブラリ/JSフレームワークのインデントルール続いてJavaScriptのライブラリやフレームワークで採用されているインデントルールを次の表にまとめました。インデントルールはJSHintやESLintなどの構文チェックツールの設定ファイルから抜粋しています。.jscsrcは構文チェックの設定ファイルです。.editorconfigはEditorConfigという開発者間でエディターの設定を共有できるツールの設定ファイルです。※執筆当時(2015年12月)はjQueryはタブ、Pixi.jsはスペース4個でしたが、現在(2017年8月現在)はスペース2個になっています調査によるとインデントはスペース2個と定めている場合が多いようですね。国内のインデント事情はタブが多数インデント数について弊社池田がTwitterでアンケートを実施。このアンケートではプログラム言語を指定していないため、JavaScriptに限った回答ではありませんが、44%が「タブ」、33%が「スペース2つ」、23%が「スペース4つ」という結果になりました。筆者はタブのほうが合理的だと思うのですが、海外のJavaScriptコーディング規約とは異なる傾向であり、興味深いですね。アンケートについて、詳しくは記事「HTMLコーダーへのアンケート結果(コードの書き方)」で紹介してますので、あわせて参考ください。本記事はJavaScript界隈のインデントルールをほんの一部まとめたものに過ぎませんが、みなさんのプロジェクトの規約作成の際に参考にしていただけたら幸いです。平成29年8月14日に内容をメンテナンスしています。MEDIAは株式会社ICSが運営するオウンドメディアです。ICSはインタラクションデザイン専門のプロダクション。最先端のwebテクノロジーを駆使し、オンスクリーンメディアの表現分野で活動しています。問い合わせ採用情報インタラクションコンテンツの制作や新しいことに挑戦しながら、互いにスキルを高め合えるメンバーをICSでは募集しています。詳しくは採用情報をご覧ください。MEDIAは古い記事でもメンテナンスし続けることで、常に役立つ情報発信を目指しています。