2017-05-14 55 views
0

我为我的express CRUD应用程序使用以下文件夹结构。我使用它来为每个文件包含不超过70行代码的理想可管理代码。你对文件夹结构有什么想法?Node Express 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号决定,除非你读的地方,70使某种理想的微服务,您的结构不允许反正的。

至于目录结构。我得出的结论是,内部目录结构通常基于程序员或组长。当你看到你的代码的视觉设计和实现时,这更多的是你头脑中有意义的事情。这就是说,恕我直言,过度复杂或让我们说在Node中过度结构化的目录结构,并说例如PHP导致无序的移动上下目录树为了访问代码,类或只是普通的函数。更何况,对于那些可能会追随你来维护代码的人来说,这变得乱七八糟。

所以使用你感觉在家的目录结构。但要让它干净而不复杂。不要试图将每个调用和函数的每个方面都打包成特定的70行可定义的目录结构。 (再次不知道该数字来自哪里)。

清洁,简单和明智。 这些将是遵循恕我直言的最佳规则。基于下面OP问题

编辑:

  1. 的净度代码不被线的量限定。当我测试编码器时,不管他们专注于哪种语言,都要在屏幕上放置一些代码,并要求他们将该代码行转换为简单的英文。首先这实际上测试候选人能力。其次,如果代码清晰且良好,那么其他编码人员应该能够阅读并清楚了解代码中发生了什么。 (实际上它测试了原始编码器和候选者。) 所以清晰的代码并不是关于线条的。这是关于优秀的编码实践和使您的代码按照您的设想行事的能力。

  2. 微服务已成为一种流行语。但基本上它只是意味着“专注”。这意味着您正在创建一个模块来执行特定任务因此,系统中的每个模块都会执行特定的任务或任务,这些任务或任务对于您的系统至关重要,并且只专注于此任务。我认为这可能实际上是你所追求的。 Node和Microservices上有很多非常不错的文章。

+0

70我只是为了维护代码清晰度而向下滚动不超过两次。您能否就您的结构不允许的最理想的微服务进行进一步评论?指出这种结构的具体回退将非常有帮助。和@twg感谢您的回应。 –

+0

我编辑了我的答案来解决你的问题。希望有所帮助 – twg

相关问题