约定优于配置

约定优于配置是一种软件开发设计原则,通过约定减少配置需求,从而降低开发者的负担。

简单来说,就是大家达成共识:某些东西该如何组织、如何操作,作为默认行为来处理。当然,如果有特殊需求,仍然可以通过配置进行覆盖。

在前端项目中,这种设计理念非常常见。例如:

  • 目录约定src 目录放项目源代码,public 目录存放静态资源。
  • 文件类型约定.test.js.spec.js 文件通常用于单元测试。

当框架对项目进行处理时,通常会基于这些约定进行操作,比如复制 public 目录的静态资源,构建 src 目录下的源代码。

在现代前端框架中,约定优于配置的应用更为广泛。例如:

  • 文件路由:通过文件系统映射生成路由,比如 NextJSPages RouterApp Router 可以根据目录结构自动生成页面路由,而无需手动配置。
  • 静态资源管理: 通常默认将 public 目录下的资源作为静态资源进行处理。
  • 测试集成: Jest 会默认在 __test__ 中搜索测试文件,自动识别 .test.js.spec.js 文件作为测试文件。
  • .....

这种约定减少了开发者在配置上的时间投入,提升了开发效率,同时也让项目更加规范化和易于维护。

但是大家都知道熵增原理。


熵不会无端减少,若某处熵降低,必然意味着另一处熵的增加,以维持整体的平衡。

开发者的工作是轻松了,框架则需要做更多的工作。如何设计,是否可用,可测试性,以及文档说明等一系列工作。

简而言之就是,开发者只需要关注业务的开发就好了,而框架们需要考虑的东西就多了。


约定优于配置
http://localhost:8080/archives/yue-ding-you-yu-pei-zhi
作者
inksha
发布于
2025年01月20日
许可协议