Node Express CRUD 应用程序文件夹结构

Node Express CRUD application folder structure

我正在为我的快速 CRUD 应用程序使用以下文件夹结构。我用它来使每个文件包含不超过 70 行代码的理想可管理代码。您对文件夹结构有何看法?

.
├── 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

我不确定你为什么决定使用数字 70,除非你在某处读到 70 提供了某种理想的微服务,而你的结构无论如何都不允许这样做。

至于目录结构。我得出的结论是,内部目录结构通常基于程序员或团队负责人。当您看到代码的视觉设计和实现时,更多的是在您的头脑中理解什么是有意义的。

就是说,恕我直言,过于复杂,或者让我们说 Node 中的目录结构过于结构化,例如 PHP 导致为了访问代码而上下移动目录树的次数过多,类 或者只是简单的函数。更不用说对于那些可能会在您之后维护代码的人来说,它会变得胡言乱语。

因此请使用您熟悉的目录结构。但是让它干净而不复杂。不要试图将每个调用和函数的每个方面都归类到特定的 70 行可定义目录结构中。 (同样不知道该数字来自何处)。

干净、简单、懂事。 这些将是遵循恕我直言的最佳规则。

根据以下 OP 问题进行编辑:

  1. 代码的清晰度不是由行数决定的。当我测试编码员时,无论他们擅长什么语言,都将一些代码放在屏幕上,然后要求他们逐行将代码翻译成简单的英语。首先这其实是考验应聘者的能力。其次,如果代码清晰且良好,那么任何其他编码人员都应该能够阅读它并清楚地理解代码中发生的事情。 (实际上它同时测试了原始编码器和候选人。) 如此清晰的代码与行无关。它是关于优秀的编码实践和让你的代码按照你的设想行事的能力。

  2. 微服务已经成为一种流行语。但本质上它只是意味着 "focused"。这意味着您正在创建一个模块来执行特定任务,因此系统中的每个模块都执行一个特定任务或对您的系统至关重要的任务,并且只关注该任务。我认为这可能正是您所追求的。有很多关于节点和微服务的非常好的文章。