コード設計、コード品質チェックプロセスの最適化

JavaScript、勝利のスタイル



1つのスタイルで記述されたコードには多くの利点があります。マイナーエラーが少なく、多くのエラーはほとんどすぐに検出しやすく、他のエラーは開発段階で簡単にデバッグできます。 しかし、新しいプログラマーはコードを勉強するのに余分な時間を費やす必要はありません(これは、コード自体を理解する必要がないという意味ではなく、読みやすいということだけです)。

チーム全体が所定のスタイルを順守している場合にのみ、コードの品質が向上します。 一般的なルールの開発に時間を費やすことは間違いなく価値があります。

「Pythonコードのスタイルガイド」という単一のルールセットがあるPythonとは異なり、JavaScriptにはありません。 ただし、選択できる一般的なガイドは6つあります。



ガイドに加えて、たとえばJSLintやJSHintなどの自動コードアナライザーも忘れないでください。 そして、彼らはすでに独自の設定を持っています。 問題は、関連性があり、ほとんどの推奨事項に最も対応するJavaScriptコードを記述する最も正しい方法は何ですか? この記事のほとんどの推奨事項を組み合わせて、コードの品質をチェックするプロセスを最適化する方法を考えてみましょう。

クリアランス


くぼみ



引数と式の間のスペース



多くのガイドは、行末にスペースがないことを思い出させます(末尾のスペース)

行の長さ



セミコロン



コメント:



引用



変数宣言



ブラケット



グローバル変数



名前



変数



定数




機能



配列



オブジェクトとクラス



その他

複数の複合ファイル名と設定にはall-lower-hyphen-css-caseを使用します:npm

JSHintおよび.jshintrcファイルを使用する


JSHintは、コード内のエラーを指摘するコードアナライザーです。 広く使用されている多くのテキストエディターと互換性があります。 また、スタイルの統一とコードの整合性を維持するための良い方法です。 ドキュメントにはさまざまな用途があります 。 以下に、上記のすべての推奨事項に従う.jshintrcファイルの例を示します。 このファイルをプロジェクトのルートフォルダーに配置します。JSHintプラグインがインストールされている場合、エディターは定義したルールに従ってコードをチェックします。

 { "camelcase" : true, "indent": 2, "undef": true, "quotmark": "single", "maxlen": 80, "trailing": true, "curly": true } 


ブラウザによって処理されるすべてのファイルに、次を追加します。

 /* jshint browser:true, jquery:true */ 


Node.jsファイルに以下を追加します。

 /*jshint node:true */ 


すべてのタイプのJSファイルでは、以下を追加することをお勧めします。

 'use strict'; 


これはJSHintとJavaScriptハンドラーの両方に影響し、エラー耐性は低下しますが、より高速に動作します。 「厳密な使用」について詳しく読む (外部リンク)

git commitの前にJSHintコードを自動的に確認する


すべてのJSファイルがテストに合格し、.jshintrcで定義した一般的なスタイルに従うことを確認したい場合。 次に、これらの行を.git / hooks / pre-commitファイルに追加します。 これで、変更をコミットする前に、スクリプトは変更されたファイルのみをチェックして、コードスタイルの違反をチェックします。 そして、もしあれば、操作は中断されます。

 #!/bin/bash # Pre-commit Git hook to run JSHint on JavaScript files. # # If you absolutely must commit without testing, # use: git commit --no-verify filenames=($(git diff --cached --name-only HEAD)) which jshint &> /dev/null if [ $? -ne 0 ]; then echo "error: jshint not found" echo "install with: sudo npm install -g jshint" exit 1 fi for i in "${filenames[@]}" do if [[ $i =~ \.js$ ]]; then echo jshint $i jshint $i if [ $? -ne 0 ]; then exit 1 fi fi done 


追伸
(元の記事)を読んだ人の要求で、 Gitリポジトリが作成され、誰でも.jshintrcまたはドキュメントに変更を加えることができます。

翻訳者から:
私は元の記事の著者を個人的に知っており、翻訳に変更を加えるためのゴーサインを受け取りました。 特に深刻な翻訳の誤りやエラーについては、お好きな方法でお知らせください。 おそらく最も熟練した翻訳ではないかもしれませんが、最後まですべてを読んでくれた人たちに感謝しました。

元の記事: (http://seravo.fi/2013/javascript-the-winning-style)

Source: https://habr.com/ru/post/J189872/


All Articles