2017-07-06 23 views
3

アングルのStyle Guideには、一般的なファイルタイプの命名規則が記載されています(heroes.component.tsheroes.service.tsなど)。しかし、デコレータシンボルを持たないクラスはありますか?例えば、英雄のチュートリアルでは、ヒーロークラスを作成します。アングルクラスのファイルタイプ命名規則

export class Hero { 
    id: number; 
    name: string; 
} 

その後、名前、このファイルhero.tsを。このような命名規則は、appディレクトリの混乱の可能性が高いようです。クラス(アプリディレクトリ内)という名前のフォルダを作成し、hero.class.tsのように、各ファイルに接尾辞class.tsを追加するのは理にかなっています。

しかし、私はこの慣習を使用している人は見ていません。私は人々が接尾辞を使用しているのを見ましたが、これがベストプラクティスかどうかは不明ですが、角度Style Guideに記載されていません。

誰もがこのトピックについていくつかの光を当てはめることができますか?私が何かを見逃してしまったら、すみません。ありがとうございます。

答えて

1

角度スタイルガイドでは、シンプルなモデルに.modelを使用するよう明示しています。しかし、2つを考慮する必要があります。

  • enumsの慣例はありません。個人的に私はそれが
  • ガイドを使用することになってどのように応じて、serviceまたはmodelファイルの内部でそれらを保つためには、プロジェクトのスコープにして、他のentitiesを作成することができます - あなたは、他の「タイプ」を追加することができます(recource、コンフィグ)
  • クラス/モデル/インターフェースであれば(例えばUser)はアプリケーション全体で使用され、ガイドが論理的に正しいですsharedモジュール、でそれを維持することを提案:しばらくCoreModuleSharedModuleは、複数回インポートすることになっている - 一度だけ(AppModule中)
+0

ありがとうございます。申し訳ありませんが、私はまだそれを見ません。私は、小さな関数については、 'model.ts'ファイルを表示するhttps://angular.io/guide/styleguide#small-functionsのセクションを参照していますが、私はそれを明示的に呼ぶつもりはありません。私はきれいな歯の櫛でそれを再び通過します。それが私の顔の前にあれば私の悪い。 –

+1

'Interfaces'セクションと' Rule of One'( 'HeroModel'の命名例があります)を検索します。 'Style 04-06'、' Style 04-10'、 'Style 04-11'も参照してください。 'Style 02-02'はあなたのアプリに追加タイプを追加できると言っています。 –

+0

ありがとうございます。 –

0

アプリケーションにパッケージ(フォルダ)を作成するための2つの方法があります。機能によって

  • パッケージ層により
  • パッケージは

角度が「機能によってパッケージ」を好み、それはなぜ英雄ですクラスは属しているヒーローコンポーネントの中に残ります。良いパッケージはなぜ機能によってパッケージ化されるのが好きなのですか?hereです。

いくつかのコンポーネントで使用されているクラス/サービスについて - Angular StyleGuideはコアパッケージを使用することを提案しています。それが共有されているコンポーネントであれば、共有パッケージです。