工程师思维是"承认现实、量化代价、做可逆的决策"。

它跟科学家思维(追求真理)和艺术家思维(追求表达)不一样,工程师永远在 "在给定条件下,造出一个够用、能活、可演进的东西"

1. 把模糊变成可定义的

遇到问题先不急着动手,先问:"到底要解决什么?成功长什么样?" 把一句抽象的抱怨("这东西不好用")拆成可验证的条件。没有定义清楚的问题,是无解的。

2. 约束优先,而不是方案优先

工程师不追求"最好的方案",而是追求 "在这些约束下的最优解" ——时间、成本、人力、性能、可维护性。任何脱离约束谈的"最佳实践"都是耍流氓。

3. 权衡(trade-off)是常态

没有免费的午餐。加了缓存就要处理一致性,抽象层多了就损失性能,灵活性高了维护成本就高。工程师不找"完美解",找 "我能接受的代价"

4. 可验证、可回退、可观测

不能验证的东西,等于没做;不能回退的改动,等于赌博。

5. 把成本分摊到未来

短期省事 vs 长期债务,工程师要有 "复利感" ——重复三次以上的事要自动化,会再看的代码要写注释,会被再读的决策要留文档。

6. 谦卑 + 怀疑

7. 奥卡姆 + YAGNI

能简单就别复杂,能不写就别写。今天还用不到的灵活性,就是明天的维护负担。