1

Chrome 用の Batarang プラグインが更新されたばかりのようです。新しい機能Angular Hintが追加され、今日はたくさんの警告が表示されました。そして、次のような指示があります。

ベスト プラクティスに従ってコントローラーに名前を付ける (9551)

コントローラー名は大文字で始まり、コントローラーの接尾辞で終わる必要があります。例: ユーザーコントローラー。

homeController の名前を HomeController に変更することを検討してください。

私たち Angular 開発者は常に JavaScript オブジェクトにキャメルケースの名前を使用していませんか? Batarang が代わりにパスカル ケースを好む理由を誰か教えてください。

その他の質問:

  • 最新の「ベスト プラクティス」のドキュメントはどこにありますか?
  • 既存の Web アプリでこの「ベスト プラクティス」に従いたくない場合、そのタイプの「ヒント」を無効にする方法は?
4

1 に答える 1

4

コントローラー関数は実際にはコンストラクター関数であり、JavaScript ではコンストラクター関数は慣例により大文字で始まるため、Batarang はこれを示唆しています。

これは、フィルターやサービスなどの他のアーティファクトとは異なります。これらはコンストラクターとして扱われないため、小文字を使用して記述されます。

コントローラーの場合、1 つの Web サイト内に 1 つのコントローラーの複数のインスタンスを配置したい場合があるため、これは実際には非常に理にかなっています。

JavaScript では、実際には、コンストラクターを除くすべてを小文字にするのがベスト プラクティスnewです。根本的な問題は、JavaScript では関数とコンストラクターの間に技術的な違いがないことです。どちらも単なる関数であり、thisキーワードの扱いが異なるだけです (これがnew内部で影響を与えます)。

「ベストプラクティス」の部分については…コントローラーの定義方法に関するAngularのドキュメントを参照してください。そこには、それがコンストラクターであると書かれています (ただし、実際にはかなり隠されています)。

それをオフにする方法については…いいえ、申し訳ありませんが、これが実際に可能かどうかはわかりません (可能であれば、方法もわかりません)。一方で、一般的なベストプラクティスがある場合、本当に別の方法でやりたいかどうかを自問することをお勧めします。

于 2014-12-10T15:18:14.807 に答える