🔥 约定大于配置:让框架替你省掉 80% 的麻烦

40 阅读2分钟

📌 一句话总结

👉 你遵守约定,框架就替你干活;你越想自定义,框架越要你解释半天。


🧠 1. “约定大于配置”到底是啥?

【框架已准备好默认规则】
        ↓
你只要按规则放文件 / 写类名 / 写注解
        ↓
【自动生效 ✔】

反之:

【你想改规则】
        ↓
你写更多配置
        ↓
【复杂度 ↑  出问题概率 ↑】

一句话:
框架给你铺好了高速公路,你别非要自己铲土再修一条小路。


🗂️ 2. 对比更直观:表格上墙!

项目遵守约定(推荐)破坏约定(你会哭)
代码量✨ 极少🧱 一坨配置
开发速度🚀 很快🐢 像乌龟背锅跑
团队协作🤝 无需沟通😵 新人看了直接心梗
可维护性💚 高🔥 地狱模式
bug 概率⬇️ 低⬆️ 高

🧩 3. Spring Boot 经典示例

✔ 遵守约定(轻松)

@RestController
public class UserController {}

你写了 2 行,它帮你做 5 件事:

任务是否自动完成?
扫描类
加载 Bean
注册 Controller
挂载路由
注入依赖

你像按了一个快捷键,框架帮你摆好所有桌子椅子。


❌ 破坏约定(自找罪受)

@Configuration
@ComponentScan(basePackages = "com.xxx.xxx.xxx.xxx")

效果如下:

你的自定义 → 框架懵逼 → 你继续写配置 → 你更懵逼

就像别人给你留了钥匙,你非要把窗户撬开进去。


🌟 4. 约定的三大好处

好处说明
✂️ 更少代码写得少=错得少,生活更甜。
🎯 结构统一项目变得像酒店房间:一打开就知道东西在哪。
🌬 开发体验顺不用写废话,不用读废话,不用猜框架想什么。

🔥 5. 不遵守约定会怎样?

  • 🧨 配置爆炸
  • 🐙 项目像章鱼一样乱甩触手
  • 😭 新人上来直接喊:“这是谁写的?!”
  • 🕯 你晚上查日志查到怀疑人生

一句话:
越自定义,越有风险;越偏离约定,越像野路子项目。


🛠 6. 什么时候可以稍微“不听话”?(但要有理由)

情况可以破例吗?
默认行为无法覆盖业务✔ 必须
架构设计特殊要求✔ 可以
团队已统一共识✔ 允许
只是你“想试试别的写法”❌ 别添乱

原则:
除非真的必要,否则不要动框架默认值。


🎬 最后的总结(短、稳、暖)

约定,是框架给你的温柔;
配置,是你付出的代价。
遵守约定,是效率、质量和团队协作的共同捷径。