JavaScript スタイルガイド

JavaScript に対する概ね妥当なアプローチ
109,979
作成者Harrison Shoff

なぜ JavaScript にスタイルガイドが必要なのか?

あなたがeコマースサイトを立ち上げるとしましょう。

最初のエンジニアは、青の時代のピカソです。あなたのコードベースはすぐにピカソの青の時代の JavaScript ファイルで埋め尽くされます。彼はあなたのために、問題なく JavaScript のショッピングカートを描きます。彼はそれを何百万回も行ったことがあります。しかし、これは彼の最高傑作です。それは彼の傑作であり、非常に青いです。

2人目のエンジニアはサルバドール・ダリです。彼は初日にカメラ、1本の絵筆、間抜けな口ひげを持って現れ、奇妙なシュールレアリスム JavaScript ファイルを貢献し始めます。

これは、一緒に仕事をするうちにピカソに影響を与え、ピカソは変更を始め、コードベースにキュビズムファイルを追加し始めます。コードベースは非常に新しいため、ピカソとダリはいつでも新しいファイルを追加し続けることができます。なぜなら、2人のエンジニアが新しい機能を追加しているだけの場合、メンテナンスは発生しないからです。誰もがお互いの邪魔をすることはありません。誰もが十分な塗料を持っています。

次に、あなたはモネを雇い、彼はすべてに自分の印象を残します。

これで、/app/assets/javascripts に、青の時代のショッピングカート、印象派の画像の遅延読み込み、シュールレアリスムの写真スライドショー、そしてキュビズムスタイルのイベントトラッキングができました。JavaScript フォルダは博物館になります。

4年後の未来にジャンプしましょう。多くの主要な機能がすでに構築されています。ピカソは、ゲルニカスタイルで構築された会社を追求するために会社を辞めました。あなたのビジネスの焦点は少し変化しており、ピカソの青の時代のショッピングカートを拡張して、共同ショッピング(リアルタイムで同じカートを共有する多くの人々)をサポートする必要があります。

幸運にも、あなたは壁にスプレーペイントするのが好きな JavaScript ランドの新星、バンクシーを雇ったばかりです。そこであなたはバンクシーに、「最初の仕事として、コラボレーションをサポートするようにショッピングカートを修正する必要があります。再起動のためにタイミングが非常に重要ですが、幸いにもピカソのショッピングカートがすでにあり、それはすでに傑作なので、これは非常に簡単です。それを再利用してください」と言います。

そこでバンクシーはあなたのピカソのショッピングカートにスプレーペイントを塗ってコラボレーションを可能にし、あなたは大きな成功を収めた再起動を行います。

1か月後、ショッピングカートからアイテムを削除することに関するバグレポートが届きます。バンクシーは別のプロジェクトで忙しいので、あなたはモネに行ってそれを修正してもらいます。

モネはスプレー缶の使い方を知りません。そのため、彼の修正の試みは不十分です。彼はビルドを壊します。彼はブラシに戻って上から塗りつぶしますが、不慣れなスタイルを理解して採用するのに時間がかかったため、本来よりも時間がかかってしまいました。

80人以上のエンジニアが1つのコードベースに貢献している場合、あなたはすぐに、普段の方法ではうまくいかないことを学びます。そこで、私たちは皆をピカソにしようとします。コードベースのどこに飛び込んでも、すべてのファイルは見慣れており、まるであなたが描いたように見えます。

最も重要なことは、あなたの好みの JavaScript スタイルが何であれ、チームで作業したり、将来メンテナンスする必要がある大規模なコードベースで作業したりする場合は、一貫性を持たせることです。

私たちのチームに最適なスタイルは、すべてが始まったピカソスタイルです。

私たちは他のチームがフォークしてモネスタイルガイドやバンクシースタイルガイドに変えられるように、スタイルガイドをオープンソース化しました。これは見ていてとても楽しいものです。

サイドプロジェクトに取り組み、JavaScriptでできる素晴らしいことをすべて探求する個々の画家/エンジニアとして、慣習を捨て、誰もがこれまで言ってきたことをすべて無視してください。

それが、世界が次のピカソを楽しむ唯一の方法です。