对于开源的世界里,相同类型的项目数不胜数,如何选择合适自己项目、企业的变的尤为重要,同时也会减少对项目调研时的成本投入
项目来源(渠道)
- GitHub
- 码云
- OSChina
- Apache 组织
- Spring
- 其他组织(WSO2,Confluence等)
对于开源项目的查找可以从如上来源进行初步筛选
GitHub:全球性开源项目
码云:更多的是国内开源项目
OSChina:综合类平台(1.提供开源项目搜索、2.提供论坛等)
Apache: Apache组织提供众多顶级的开源项目(tomcat,common等)
Spring: 提供对常见的开源项目的集成,提供类型Spring Boot,Spring Cloud等项目
其他组织: 如:wso2致力于paas服务平台软件的开发
项目筛选(定位)
- 项目定位
GitHub:
1.如何高效的项目搜索
1.1 in关键字:
xxx in:name 项目名中包含xxx
xxx in:readme readme中包含xxx
xxx in:description 项目描述中包含 xxx
还可以组合 xxx in:readme, name, description
1.2 基于项目质量
xxx stars: >数字 或 >= 数字
xxx forks:> 数字 或 >= 数字
1.3 其他
location:地区
language:语言
如:location:china language:java
更多参考:
https://github.com/search/advanced
- 项目可靠性
1.基于仓库类型
1.1 项目的维护度
代码提交、更新频率(基于项目周期)
项目issue的解决程度
1.2 项目生态圈
项目是否有生态圈,是否有存在社区形式进行开发贡献
1.3 项目资料
是否具有:项目文档、api、使用手册等
1.4 项目扩展性
项目是否能够扩展或者是否提供相关的扩展机制(如:插件机制等)
1.5 项目复杂度
项目的复杂度会影响项目的预演及后续的使用,对于项目复杂度需要进考虑
- 项目预演
1.项目版本选择?
基于现状需求
基于项目稳定性
基于项目版本升级描述(如:修复了xxbug,提供新功能)
2.环境准备?
本地环境+虚拟机
3.压测准备?
检测项目相关指标
4.调研结果?
安装配置文档(相关坑点记录)
项目功能使用情况说明(操作舒适度、功能复杂度等)
压测结果统计
项目演示总结