技术调研
首先你得确定是否需要做技术调研,可以从以下几个角度判断:
- 新技术,社区不成熟。有一定风险,需要权衡利弊
- 想做某个功能但不确定能否实现。可以跑一个 demo 验证
- 使用的框架或库有多种选择,不确定选择哪个
如果只是几分钟就能确定的事,就没必要做了
一份基础的调研文档应该从以下几方面考虑:
背景
先贴上需求文档以及其他相关的文档,方便他人了解上下文
现存方案
存在什么问题,有哪些痛点?
方案对比
对比关键的几个方案(已匹配需求),详细对比它们的优缺点。基于以下几个方面展开对比
- 官方介绍。可以从官方文档或者 github issues 中提取可靠的理论依据
- 活跃度。社区(github issues、npm trends)
- 可维护性。可以从使用复杂度、是否有额外学习成本、业务侵入度、是否有社区的最佳实践等综合考虑
- 性能。可以从依赖体积、代码执行效率等进行对比,或者可以找下社区已有的 benchmark 对比
- 原理。针对一些小型库,可以尝试了解其中的原理,进一步确定是否真的匹配需求;也便于后续排查问题
结论
给出一个清晰的调研结论,不能遗留不确定的问题
参考文档
贴上一些关键文档,作为调研结论的支撑依据