ブラウザのパフォーマンスの改善と新しいHTML5プログラミングインターフェイスの着実な採用により、Webページ上のJavaScriptのボリュームが徐々に増加しています。ただし、書かれていないプログラムは、ウェブサイト全体を破り、ユーザーを苛立たせ、潜在的な顧客を追い払う可能性があります。
開発者は、コードの品質を向上させるために使用できるすべてのツールとテクニックを使用し、すべての実行が予測可能であると確信する必要があります。これは私の心の奥深くのトピックであり、私は何年もの間、開発プロセス中に最大の品質のコードのみを公開できるようにするための一連のステップを見つけるために働いてきました。
これらの7つのステップに従って、JavaScriptプロジェクトの品質を大幅に向上させてください。このワークフローを使用すると、エラーが減少し、多くの処理最適化が行われ、ユーザーは快適なブラウジングエクスペリエンスを提供します。
01。コード
まず、関数のECMAScript5の厳密なモードと「厳密なモード」宣言を呼び出し、このモジュールの設計モードを使用します。自己実行機能の閉鎖では、グローバル変数の使用を介して、グローバル変数モジュールを明確かつ簡潔に保つために、Sandbox Independent Codeモジュール、および外部依存関係を介して最小化する必要があります。確立された、実績があり、よくテストされた、よく再配置されたサードパーティのライブラリとフレームワークのみを使用し、機能を小さな値に保ち、ビジネスロジックまたはデータをモジュール操作およびその他のビューレイヤーコードから分離します。
複数の開発者を持つ大規模なプロジェクトは、GoogleのJavaScriptスタイルガイドなどの一連の確立されたコーディング原則に従い、BowerまたはJAM(クライアントライブラリ管理ツール)を使用してパッケージ管理を使用してパッケージ管理(AMD)を使用して、非同期モジュール定義(AMD)を使用して、パッケージ管理(AMD)を使用して、パッケージ管理を使用して、RequireJSなどのライブラリを使用して、厳格な依存管理ルールを含むより強力なコード管理ルールを必要とする必要があります。異なるコードモジュール間の結合通信。これも賢明なアイデアです。GitやSubversionなどのコードリポジトリシステムのシステムを使用して、ソースコードやマジックビーンズなどの一部のサービスを介してクラウドにコードをバックアップし、以前のバージョンに復元する機能を提供し、さまざまな機能を実行するためのより高度なプロジェクトのブランチを作成し、完成する前に一緒に配置します。
02。ファイル
ファイルの機能にYuidocやJSDOCなどの構造化された注釈ブロック形式を使用するため、開発者はコードを調査せずに目的を理解できます。これにより、誤解を減らすことができます。 Markdown Syntaxを使用すると、より豊かで長いコメントと説明があります。関連するコマンドラインツールを使用して、Webサイトでドキュメントを自動的に生成します。これらの構造的意見に基づいて、コードで行われた変更と一致しています。
03。トラック分析
JshintやJSlintなど、定期的にコードに静的コード分析ツールを実行します。これらの既知のコーディングの欠陥と、厳密なパターンの使用を忘れたり、宣言されていない変数を参照したり、括弧やセミコロンの欠落などの潜在的なエラーをチェックします。コードの品質を向上させるために、ツール制御の問題を修正してください。プロジェクトチームのデフォルトオプションを設定して、各ラインをスペースごとにインデントする、巻き毛のブレースを配置する場所、コードファイル全体の単一または二重引用符などのコーディング標準を強化してみてください。
04。テスト
単体テストは、小さな独立した関数によって実行される関数の1つです。特定の入力のメインコードベースから関数の1つを実行して、期待値を出力することを確認します。自信を高めるために、コードは、予想される各単体テストのジャスミンやQunitなど、予想されるおよび予期しない入力パラメーターを使用して、予想されるように使用されるフレームワークを書き込みます。しかし、それらのエッジの状況を忘れないでください!
複数のオペレーティングシステムの複数のブラウザでこれらのテストを実行すると、Browserstackやソースラボなどのこのサービスを活用することにより、クラウド内の仮想マシンのテストをクラウドのテストを加速できます。これらの2つのサービスは、ユニットテストを複数のブラウザで同時に自動的に実行できるようにするAPIを提供し、完了すると結果をフィードバックします。ボーナスとして、コードがgithubに保存されている場合、コードを送信するときにユニットテストを自動的に実行するツールであるbrowserswarmを使用できます。
05。測定
ISTANBULなどのコードカバレッジツールは、機能上でユニットテストを実行するときに実行されるコードの行を測定し、コードの総数の割合として報告します。ユニットテストでコードカバレッジツールを実行し、テストを追加すると、カバレッジスコアが100%に増加すると、コードに自信が高くなります。
関数の複雑さは、1970年代にコンピューター科学者のモリス・ホールステッドによって確立されたHallsteadの複雑さのメトリックを使用して測定できます。関数の複雑さは、ループ、分岐、およびそれに含まれる関数呼び出しに基づいて定量化されます。関数の複雑さは、HalSteadの複雑さを使用して測定できます。この複雑なスコアが減少すると、この機能を理解して維持しやすくなり、エラーの可能性が低下します。コマンドラインツールPlatoの測定値とJavaScriptコードの複雑さの生成されたデータの視覚化は、以前の結果を保存しながら改善できる機能を決定するのに役立ち、時間の経過に伴う品質改善の追跡が可能になります。
06。自動化
Gruntなどのタスクランナーを使用して、ファイルコンパイル、分析、テスト、カバレッジ、複雑さレポート生成のプロセスを自動的に操作します。これにより、時間と労力を節約し、発生する品質の問題を解決する可能性が高まります。この投稿で強調表示されているツールとテストフレームワークのほとんどは、グラントに関連付けられているため、指を動かすことなくワークフローとコードの品質を向上させることができます。
07。例外を処理します
同時に、ある時点で、コードが実行されるとエラーが発生します。 「try…catch」ステートメントを使用して、ランタイムエラーと、動作を制限することの影響を適切に処理します。ネットワークサービスを使用して、実行中に発生するエラーを記録します。この情報を使用して、新しいユニットテストを追加してコードを改善し、これらのエラーを1つずつ排除します。
成功へのステップ
これらの7つのステップは、私がこれまでのキャリアで最も誇りに思っているコードの一部を作成するのに役立ちます。彼らはまた、将来の良い基盤です。独自のプロジェクトでは、これらの手順を使用して高品質のJavaScriptコードを作成することを約束します。これにより、ネットワークを改善し、段階的に成功につながることができます。