2017-05-14 15 views
0

エクスプレスCRUDアプリケーションに以下のフォルダ構造を使用しています。私はそれを使って、70行を超えないコードを含む各ファイルの理想的な管理可能なコードを持っています。フォルダ構造に関するあなたの考えは?ノードエクスプレスCRUDアプリケーションのフォルダ構造

- bin\ 
    - www 
- common\ 
    - enums\ 
     - logTypesEnum.js 
    - validators\ 
     - studentNameValidator.js 
- config\ 
    - db.js # config file for database connection 
- models\ 
    - log.js # contains model data for model 'log' 
- routes\ 
    - log\ 
     - index.js # handles all routes for /log/ endpoints and requires files in the directory and also contains middleware code 
     - insert.js # handles all routes for /log/insert endpoints 
     - remove # handles all routes for /log/remove endpoints 
     - exportCSV.js # handles all routes for /log/exportCSV endpoints 
    - student\ 
     - index.js 
     - insert.js 
     - remove.js 
- public\ 
    - javascripts 
    - images 
    - stylesheets 
- views\ 
    - log\ 
     - index.jade 
     - insert.jade 
     - remove.jade 
     - exportCSV.jade 
    - student\ 
     - index.jade 
     - insert.jade 
- app.js 

答えて

0

あなたは70あなたの構造がとにかくを許可しない理想的なmicroserviceのいくつかの並べ替えを行うことをどこかで読んない限り、あなたは数70に決めた理由は私はわかりません。

ディレクトリ構造については、私は、内部ディレクトリ構造は通常、プログラマまたはチームリーダーに基づいているという結論に達しました。あなたのコードのビジュアルデザインと実装を見て、あなたの頭の中で何が意味を成すのかが重要です。

私はNodeで過度に構造化されたディレクトリ構造をあまりにも複雑にすると言っています。例えば、PHPは、コード、クラス、まさにプレーンな機能にアクセスするためにディレクトリツリーを上下に動かすことになります。コードを維持するためにあなたを追いかけるかもしれない人たちのために、それはあわただしいものになります。

したがって、自宅にいると感じるディレクトリ構造を使用してください。しかし、それを清潔にし、複雑にしないでください。すべての呼び出しと機能のあらゆる側面を特定の70行の定義可能なディレクトリ構造に掘り下げようとしないでください。 (その番号がどこから来たのかわからない)。

清潔でシンプルで賢明です。 これはIMHOに従うための最良のルールです。下記のOPの質問に基づいて

編集:

  1. クラリティのコードは、行の量によって定義されていません。私がコーダーをテストするとき、彼らがどの言語に特化していても、いくつかのコードを画面上に置き、そのコード行を普通の英語に翻訳するよう依頼します。最初に、これは実際に候補者の能力をテストします。また、コードが明確で良好な場合は、他のコーダーがコードを読み取ってコード内で何が起こっているのかを明確に理解できるはずです。 (実際には、元のコーダーと候補の両方をテストします。) 明確なコードは行に関するものではありません。それは優れたコーディング方法と、あなたのコードが想像しているようにする能力についてです。

  2. マイクロサービスは流行語のようになりました。しかし、本質的には単に「焦点を合わせる」という意味です。これは、特定のタスクを実行するためのモジュールを作成することを意味します。システム内の各モジュールは、システムに不可欠な特定のタスクを実行し、そのタスクにのみ焦点を当てます。私はそれが実際にあなたが努力しているものかもしれないと思う。ノードとマイクロサービスにはかなりの数の記事があります。

+0

70では、コードの明瞭性を維持するために、2回以下のスクロールを意味していました。あなたは、あなたの構造がとにかく許されない理想的なマイクロサービスの行についてさらにコメントしてください。この構造の特定のフォールバックを指摘すると、本当に役に立ちます。 @twgに感謝します。 –

+0

あなたの質問に答えるために私の答えを編集しました。希望が役立つ – twg

関連する問題