选择一个技术栈是一项你在信息不完整的情况下做出的长期承诺,因此正确的做法是根据权衡而非炒作来决策。会议上最炫目的框架往往不是两年后最适合你的项目的那个。除非有具体的原因偏离,我的默认倾向是采用经过验证的、无聊的技术。
| 选择经过验证的技术 | 考虑新颖技术 |
|---|---|
| 标准问题,已知模式 | 有真实的约束条件,现存的成熟方案无法解决 |
| 团队必须快速推进 | 你有时间和意愿去学习 |
| 长期存在,必须易于维护 | 收益巨大且可衡量 |
技术栈的决策无声地影响着数年间的招聘、开发速度和运营成本,而后来逆转这个决定付出的代价是惨痛的。因为技术令人兴奋而不是因为它契合需求而选择技术,是最常见也是最具破坏性的tech-lead错误之一。经过深思熟虑地做决策,将权衡写下来,这才是将架构选择与时尚选择区分开的关键。