技术选型争论通常死于一句话:“这个更先进。“先进不是选型标准,代价可逆性才是。我的决策清单按优先级排列如下。

先问约束

  • 团队现有人会吗?学习曲线要多久?
  • 出问题的时候,半夜能找到资料/社区/源码自救吗?
  • 它失败的最坏情况是什么?迁移走的成本高不高?

再看匹配

  • 它擅长的场景,和我们 80% 的日常场景重合吗?
  • 性能数字是在谁的 benchmark 上跑出来的?
  • 它的“坑”在社区里是已知的还是待发现的?

最后才看先进性

新技术的第一批用户,本质上是在替整个社区做测试。除非它解决的问题正在真实地烧你的钱,否则让别人先踩一年。

一句话总结:选型不是选最好的,是选输得起的。 能随时换掉的技术,才是好技术。