node.js自分なりのBest Practice
モジュール
node.jsのモジュールを作る時に、必ずエラーを第一引数にしたコールバックを用意します。例えば
必ずコールバックのエラーをチェック
JavaScriptはcallbackを大量使う言語なので、callbackがあれば、まずエラーをチェックという意識を作るといいでしょう。
エラー処理
エラー処理は他の言語やプラットフォームと変わりません。一般的なルールを守ります:
- Logしまくります。とりあえずログしましょう。
- ランタイムエラーは状況によりますが、外部サービスの通信エラーはもう一度試して、最後クライアントにエラー提示をします。
- プログラミングエラーはすぐアプリを止めましょう。バグなので、プロダクションに移行する前に直しましょう。
非同期
node.js自身は無限ループをしています。なので、一番node.jsの本領を発揮するのは非同期処理です。(同期処理すると、他のイベントが処理できなくなるので、非常に効率悪いです)
できるだけ、非同期のコーデイングをしましょう。唯一同期処理が考えられるのは初期化の段階です。つまり「これが準備できてないと、次の処理は話にならない」時です。もちろん、この場合は非同期処理でも解決できるので、実際の状況をみて選びましょう。
“use strict”
ソースコードの最初に"use strict"
を書くかどうかは特にアプリには影響がないですが、標準ってことで、ちょっと指を動かすだけなので、書きましょう。
環境変数
必ずdevelopment
(dev
), staging
, testing
とproduction
四つの環境変数を用意します。変数名は自由ですが、APP_ENV
かNODE_ENV
かがわかりやすいでしょう。
それぞれの環境にconfig.json
を用意して、データベースの設定や外部サービスの情報などを分けましょう。
パッケージを活用しよう
新しい機能が欲しいときに、スクラッチから書くより、まずnpm
を利用して現存のパッケージを探してみましょう。npm
には便利なパッケージがたくさんあります。みんなでコミットしているので、バグなども比較的に少なくて安定します。
まとめ
もっとnode.jsのことを理解したいので、最近実際にプロジェクトを立ててコードを書いてます。この記事は、現時点で自分なりのBest Practiceを書いたのですが、勉強を進めると変わることがありますので、適当にご参考になれればと思います。