コンテンツへスキップ

大規模なJavaScriptアプリケーションを書く際に参考にしたいコーディング規約まとめ

by : 2015/01/28

JavaScriptは割と自由な言語で、行末にセミコロンがなくとも動作したり、varによる変数宣言をしなくとも使えたりします。とはいえ、動くから良いという訳ではありません。意図しない動作を防ぐため、さらに多人数での開発になればコードの品質を維持するためにもコーディング規約に沿った書き方が求められます。

他のプログラミング言語と同様、JavaScriptにおいてもコーディング規約が幾つか存在します。どれを取り入れるかは対象のアプリの性質、プロジェクトの特性やチームメンバーのスキルなどによりますが、参考になることは間違いないでしょう。必要に応じてカスタマイズするなどして、上手に取り入れてみてください。

Google JavaScript Style Guide


Google製のJavaScriptスタイルガイドです。和訳版がこちらにあります。執筆時において、和訳版はバージョン2.72、本家は2.93となっており、適宜更新されているようです。一旦作って終わりでは徐々に時代に合っていないものになりがちですが、こちらは今なお役立つものになっているでしょう。

セミコロンやブロック内での関数宣言など細かく規定がありますが、特に「なぜそうしなければならないか」「そうしない場合どういった問題を引き起こすか」について触れられているのが特徴です。これにより納得感のあるコーディングが可能になります。

Google JavaScript Style Guide

JavaScript coding standards | Drupal.org


世界的に有名なCMS、DrupalによるJavaScriptコーディング規約です。内容は短めで、インデント、セミコロン、strictモード、変数名、typeof、関数、コンストラクタ、コメント、制御構造、演算子などについてまとまっています。細かく規定がない分、良くある事柄にまとまっているので分かりやすいのではないでしょうか。

JavaScript coding standards | Drupal.org

Dojo Style Guide – The Dojo Toolkit


JavaScriptフレームワークであるDojo Toolkitのコーディングスタイルガイドです。こちらもそれほど多くありません。特にDojoを使っている場合にはこのスタイルガイドに沿っておくことで本体と同じように書けるというメリットがありそうです。

Dojo Style Guide – The Dojo Toolkit

airbnb/javascript


Airbnbの作っているコーディング規約です。和訳がこちらにあります。全部で23項目あり、細かく規定されています。Airbnbはnodeも使っており、WebアプリケーションとしてJavaScriptも多用しています。それだけにコーディング規約で細かく規定しているのだと思われます。

airbnb/javascript

felixge/node-style-guide


Node.jsのスタイルガイドです。クライアントサイドではなくサーバサイドにはなりますが、JavaScript自体は同じなので役に立つと思われます。バージョンが若干古いですが、和訳版もあります。正解と間違いが並んでいるので分かりやすいです。

felixge/node-style-guide

JavaScript style guide | MDN


Mozillaの作成しているスタイルガイドになります。Firefoxを対象としていますので、汎用的なJavaScriptとは一部異なる可能性があります。とはいえ最大級のオープンソースWebブラウザを支えるスタイルガイドになりますので学べる点は多そうです。

JavaScript style guide | MDN

Code Conventions for the JavaScript Programming Language


Oracleに買収されたSunが作成したJavaのコーディング規約をベースにしたJavaScriptコーディング規約になります。量は多くありませんが基本は抑えてあります。

Code Conventions for the JavaScript Programming Language

JavaScript · Styleguide


GitHubが公開しているスタイルガイドです。他のスタイルガイドが一行80文字としているのに対して、こちらは120文字としているのが特徴です。なお規約中のコードはJavaScriptではなく、CoffeeScriptで書かれています。

JavaScript · Styleguide

mgechev/angularjs-style-guide


AngularJS向けのスタイルガイドとなっています。そのためJavaScript全般の規約ではなく、AngularJSのモジュールやサービス、フィルターに関する規約など、AngularJSに特化した内容となっています。

mgechev/angularjs-style-guide

Apple JavaScript Coding Guidelines


Appleの作成したJavaScriptコーディング規約です。既にレガシーと書かれており、新版は出ていない模様です。

Apple JavaScript Coding Guidelines


いかがでしょうか。有名なコーディング規約についてはLintが用意されており、自動チェックすることでスタイルガイドに合っていない記述がないかチェックができます。最近は、社内で独自にコーディング規約を定めていることも増えていると思います。ただ、JavaScriptは今まさに進化の途中にある言語であり、もっとも利用される環境であるブラウザもどんどんバージョンアップしています。規約が有名無実化しないよう、言語や環境のウォッチを怠らずメンテナンスしていくこと、また、ツールを活用して機械的に準拠をチェックできる仕組みを整えることが重要でしょう。
そのようなコストをかけることが難しい場合は、今回ご紹介したような有名なコーディング規約に準拠するというのも一つの手段でしょう。

From → まとめ

コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。