こんにちは!
ナビゲータのEVEです。
本日は、初めて知ったJavaScriptのコーディング規約についての話です。
IPAの試験でも出題されることがあるのですが、プロジェクトをスムーズに進行させる方法として、コーディング規約を厳守するということが挙げられています。その点について、以前ブログで書きましたが、非常に重要です。その理由については、「プログラマのすすめ 〜食えるプログラマの条件〜 [システム開発研究室]」で確認して頂くとして、その時は、プロジェクト内を想定していましたが、今回は範囲を世界的なレベルまで広げます。
日本のシステム業界は、中国を中心に、インドなどいろいろなエンジニアの方が活躍してます。その人達と連携をするなら、世界に広げるべきでしょう!
[世界標準]
じゃ、世界標準とはどのようなものなのか、調べてみると、そんなものがないことが分かりました。以前紹介した、「Airbnb JavaScript Style Guide」は、アメリカの1企業が作成し、同企業の業種は、宿泊予約プラットフォームの運営になります。同企業はアメリカ企業らしく社内でシステム開発し、その開発時の規約を公開したところ、その内容が社会に受け入れられ、世界の多くのプロジェクトで利用されているらしいです。
世界標準を探しているのに、以上の内容では納得できないので、標準化団体から出ている規約がないか、ChatGPTに調べてもらいました。
❶Airbnb JavaScript Style Guide
概要
Airbnbが公開したスタイルガイドで、特にES6以降のモダンなJavaScriptのベストプラクティスにフォーカスしています。広く使用されており、非常に詳細なガイドラインです。
リンク: Airbnb JavaScript Style Guide
❷Google JavaScript Style Guide
概要
Googleが開発者向けに提供しているスタイルガイド。Googleの内部で使用されており、大規模なコードベースでの一貫性と可読性を重視したスタイルを提供しています。
リンク:Google JavaScript Style Guide
❸Standard JS
概要
設定不要で、簡潔で明確なルールを提供するスタイルガイド。ESLintプラグインとしても使用可能で、ルールのカスタマイズを最小限に抑えたいプロジェクトに適しています。
リンク: Standard JS
❹Prettier (Code Formatter)
概要
Prettierはスタイルガイドというよりも、コードフォーマッタですが、これを使用することでコードフォーマットの一貫性を自動的に保つことができます。スタイルガイドと組み合わせて使われることが多いです。
リンク: Prettier
❺ESLint Recommended
概要
ESLint自体が提供している推奨スタイルガイドで、基本的なルールセットを含んでいます。プロジェクトのニーズに合わせてカスタマイズが可能で、AirbnbやGoogleのガイドと併用することもできます。
リンク: ESLint Recommended Rules
❻Node.js Best Practices
概要
Node.jsの開発者向けに特化したベストプラクティス集です。特にバックエンド開発におけるJavaScriptの使用に関する具体的なガイドラインが含まれています。
リンク: Node.js Best Practices
❼Microsoft TypeScript Style Guide
概要
TypeScriptを使ったプロジェクトに特化したMicrosoftのスタイルガイド。型を使った開発のベストプラクティスが詳述されています。
リンク: TypeScript Style Guide
❽JavaScript Standard Style by Idiomatic.js
概要
Idiomatic.jsによって提供されているスタイルガイド。可読性とコードの一貫性を重視しており、コーディングスタイルに関する一般的なベストプラクティスを網羅しています。
リンク: Idiomatic.js
以上について、ChatGPTだけでなく、Copilot、Geminiにも聞いてみましたが、ほぼ解答は同じでした。標準化団体からの標準規約はないようです。
[どれを選択する]
どれを選択するかは、プロジェクトリーダーの判断に委ねられるようです。じゃ、EVE Projectではどれを選択するのかということになりますが、今後、Google Mapを作る機会などがあるような気がするので、Google社の規約を標準とします。ただね・・・。以前話した通り、ここのオブジェクト指向言語の記述の仕方、私が嫌いというか理解できないような記述になっているのですよね・・・。これから理解しなければとは思うのですが、それを規約とするのは今までいやだったのですが・・・。ただ、標準化団体からでているものがないので、グローバル企業である、Google社の規約を今後利用していくことにしました。
[あとがき]
しらべたら拍子抜け・・・。じゃ、PHPの方は?っということで、PSRについて調べましたが、こちらは、非公式ではありますが、PHPのフレームワークやライブラリの開発者、ユーザー、コミュニティのメンバーが参加する協議体のようです。そのまま利用することができそうですね?
では、明日は、PHPから、PSRについてご紹介したいと思います。
では、また!
■プログラマのすすめ 〜食えるプログラマの条件〜 [システム開発研究室]
https://fanblogs.jp/bahamuteve/archive/195/0