约定与配置

2 阅读1分钟

"约定"(Convention)和"配置"(Configuration)是两种不同的方式来管理项目结构和行为。

约定(Convention): 框架或工具提供一套默认的规则和结构,开发者按照这些预设的标准进行开发,而不是手动指定每一个细节。

  • 减少决策成本,提高开发效率。
  • 项目结构更一致,便于团队协作。
  • 适合大多数标准场景,但可能不够灵活。

配置(Configuration): 开发者需要手动指定框架或工具的行为,通过配置文件或代码来定义项目的结构、规则和运行方式。

  • 灵活性高,可以适应各种特殊需求。
  • 需要更多的代码或配置,可能增加维护成本。
  • 适合需要高度定制的项目。
对比项约定(Convention)配置(Configuration)
灵活性较低,遵循框架规则较高,可自由定制
学习成本低(按框架标准来)高(需理解配置细节)
适用场景标准化项目,快速开发需要高度定制的项目
维护成本低(结构一致)高(配置可能复杂)
典型框架Egg.js、Vue CLI、RailsExpress.js、Webpack、Spring

现代框架(如 Next.js、Nuxt.js、Vite)采用 "约定为主,配置为辅" 的方式,既保证了开发效率,又提供了灵活性。

  • 约定:减少决策,提高一致性,适合标准化项目。
  • 配置:提供灵活性,适合需要定制的场景。
  • 最佳实践:大多数情况下,优先使用约定,必要时再通过配置调整。