如何调研技术组件:我的6步分析法

你有没有经历过这种场景,一个平凡的早晨,你正在奋力__摸鱼__撸码,老大突然拍了拍你肩膀:“小X啊,最近我听说xx很火啊,我们也调研一下看看,我看你平时就喜欢学些新东西,这个任务就交给你啦”

在你还没从编码上下文切换回来的时候,他已经走了,只留下一句:“这周周会拿出来分享下阿,我看好你哦”
刚工作没几年的新人对这种任务可能会感觉一脸懵逼,有点无从下手,其实这种开放式任务对于个人的综合能力还是有一定的考验的,
笔者在工作中也经历过很多次这种任务,这里分享一下个人经常使用的调研步骤,希望能给大家一点启发。

1. 简介

首先我们要问问它是谁?搞清楚它的名称、定位?什么时候诞生的?是否还在更新?开源还是闭源?
找一下官网、github,技术论坛等网站,看下介绍。
最好能自己组织语言,用1-2句话总结这个组件。

2. 功能

接下来,我们要看下它有哪些功能,或能力(英文一般为feature),最好找1到2个竞品,用表格来对比分析下。
需要注意的是,不一定功能越多越好,你要认识到只有适合自己业务的才是最好的,所以要重点关注自己业务相关的功能及性能测试报告,
最终展示你调研成果还是要有数据支撑比较好。

3. 特点

再接着分析此组件有哪些特点,可以从第二步的功能中可以提取1-3个核心能力,官网的slogan一般也会突出自己组件的特色,
组件的特点一般是组件的本质所在,代表了组件的灵魂和品味,要看组件的品味是否和我们契合,就像找老婆,适合自己的才是最好的。

4. 基础使用

第四部分析使用体验,毕竟大部分组件我们是使用者,是用户,是要拿来提供生产力的。如果组件的用户体验不好,引起开发效率的降低几乎是必然的。
我一般会从一下几个角度来分析:

  • 官方网站文档是否正式、齐全
  • 技术栈是否吻合团队人员的主流技术栈
  • API的友好程度
  • 部署难度如何,是单文件/docker部署还是有众多依赖组件
  • 是否有图形化界面?
  • 组件使用量有多少?各种问题在网上是否有较多的解决方案?
    基础使用一般是用功能中的核心部分,使用的最多的部分。

5. 底层架构

从这个步骤开始,就是进阶使用的内容了,如果是基础使用(比如试点、小型交付型项目)可能不需要考虑这么多,但是如果是大型项目,或者有其他深度使用的需求,
可能还需要对组件的这些方面进行调研:

  • 架构图:一般官网会有相应图示,需要了解有哪些分层、哪些内部逻辑组件、如何通信交互等
  • 性能:包括网上找到的测试报告(TPS、QPS、P99这些指标),也可以自己测一下
  • 可扩展性:了解最低配置,集群化配置,集群扩展如何进行
  • 代码质量:如果是开源组件,可以review下核心代码,check一下代码质量
  • 安全性:看下最近有没有重大安全漏洞,可以在漏洞库网站找一下、如果有条件的也可以使用漏洞扫描工具扫描,如果你们公司上了美国实体清单,可能还需要注意合规问题

6. 进阶使用

最后一个就是进阶使用了,进阶使用一般来说就是组件的高阶玩法,一般使用者较少,参考的信息可能也比较少。
根据奥卡姆剃刀原则,如果你不需要这些功能,就不要为了用而用。
如果你真的是必须要用,那么就要研究透,将对应的高阶功能调研、测试清楚,然后进行相应的实践。

7. 参考链接

最后的最后,附上你在调研过程中的参考链接,给自己画一个句号

好了,以上就是我个人使用的6步分析法,具体可能根据大家的实际情况还要去调整。
软件工程是一门实践科学,多思考、多实践才是成功的关键。祝愿大家都能找到最适合自己的技术解决方案。

如何调研技术组件:我的6步分析法

http://example.com/2024/04/17/six-step-of-evaluate-md/

作者

简单代码

发布于

2024-04-17

更新于

2025-10-12

许可协议