技术选型指南

本文提供了一份综合的技术选型指南,强调了在选型时应考虑目标产品、目标用户、目标团队和技术本身四个维度。目标产品方面,区分了短生命周期与长生命周期、探索型与守成型产品,并提醒考虑团队的工程化能力。目标用户涉及浏览器版本、用户带宽、可访问性和国际化等因素。目标团队方面,讨论了团队的技术背景、规模、组织架构和人员流动性。技术本身应有明确定位、高质量代码和健康的维护团队。此外,文章还列举了选型过程中的反模式,如舆论驱动、单一指标、话语权和粉丝驱动。最后,提倡根据以上维度设计自己的决策树,而非依赖现成的决策模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一篇综合类技术选型指南,试图为你提供一份比较通用的技术选型思维框架。当你需要进行技术选型时,可以参照它来设计自己的决策树。这其中你需要考虑的主要维度包括目标产品、目标用户、目标团队和技术本身,下面我将分别细述,并在此基础上介绍一些反模式。

维度

目标产品

这是最重要的维度。产品本身的特征将影响技术选型时的很多因素。

短生命周期产品和长生命周期产品

短生命周期的产品通常要求快速起步:门槛低、书写自由、不强制遵循任何最佳实践。当它的使命结束时,代码会被直接抛弃。所以,对于这类产品,“快糙猛”的技术是较好的选择,当然,能做到“快精猛”更佳。

而长生命周期的产品则会强烈要求可维护性,因为它们在很长时间内都是不可报废的。甚至对于一些生命线产品,连重写都会要求在重写期间线上系统平稳过渡,一点点迁移到新技术。

这种要求对团队的工程化能力是个极端的考验。如果没有相应的工程能力,其代价甚至会高于用新技术重新写一个功能相同的系统。

探索型的产品和守成型的产品

探索型产品往往也是短周期产品,但是同时也有自己的特点。它要求快速,但往往同时会要求高质量。探索型的产品如果证明了可行性,那么过渡到长生命周期的可能性很大。

这就要求它最好是一个微内核系统,提前留出一些扩展的空间。当然,设计微内核系统对架构师的能力具有相当的考验,如果没有一个优秀的架构师,建议还是不要刻意做任何预留,优先保障系统的简单性。

除此之外,探索型产品的技术栈必须支持可靠的、自动化的重构。因为探索型产品的迭代速度很快,如果完全靠人工去添加功能并手动重构,那么一旦出现 BUG,将给此产品的用户体验带来严重的负面影响。

所以,除非由于人才储备等原因而被迫做出折中,否则探索型产品的技术栈一定要快速而严谨。

当然,“大力出奇迹”定律也是成立的。也就是说,如果你有决心也有力量在将来对这个探索型产品进行彻底的重写,那么采用快糙猛的技术快速把它搭建起来,也未尝不可。如果你的业务确实能如预期般爆发,那么只要把重点放在系统延展性等方面即可;但是如果不能如预期般爆发,可能就会导致维护成本在中期开始飙升,在竞争中处于劣势。这是一种“不成功便成仁”的策略。据我所知某独角兽企业就是在业务起来之后通过巨额投入来偿还技术债的。但这对于 CTO 的技术直觉是一项极大的考验,不要轻易效仿。

而对守成型产品的选型则会侧重于与现有技术栈的相似程度和无缝整合能力。如果整合时需要借助很多技巧,那么可能你就是在给自己挖坑。

在引入新技术的过程中,要尽可能符合现有的开发流程、基础设施和开发习惯。当然,如果现有的这些已经严重过时,那么应该找新老技术的专家,共同帮你设计一个路线图,让你可以平稳地引入新技术,这份投资绝对值得。如果老技术已经有新版本,则应该优先考虑升级它。不要幻想换个技术栈就能解决一切问题,事实上,它带来的问题往往会更多。

边缘产品和生命线产品

在人员的学习能力和意愿允许的前提下,边缘产品是最佳的试验场,适合探索各种候选技术,试验各种激进方案,积累经验教训。其影响范围可控,即使失控也不会带来太大的损失。当然,即使探索,也应该有计划地探索,不要每个边缘产品都采用不同的技术方案,那样会给人才供应带来巨大的挑战。

而生命线产品则应该稳妥优先,采用保守方案。所以应该优先采用团队内部积累了一定经验或具有稳定的强力外援的技术。

所有的生命线产品几乎必然是长周期产品,所以其可维护性同样是重中之重。

产品维度总结

在目标产品维度上,低价值产品优先考虑门槛低的技术,但是高价值产品应该尽早进行投资性技术积累,优先考虑天花板高的技术,这样才不至于在若干年之后被迫重写。如果工程化能力不足,这种重写往往会成为灾难。

目标用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值