项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2023年北航敏捷软件工程 |
这个作业的要求在哪里 | 个人作业-软件案例分析 |
我在这个课程的目标是 | 学习并掌握现代软件开发和项目管理技术,体验敏捷开发工作流程 |
这个作业在哪个具体方面帮助我实现目标 | 从软件工程角度分析比较我们所熟悉的软件,以指导后续的软工项目实践 |
代码仓库管理系统有很多,他们对于你熟悉的目标用户 (中国高校大学生)有什么缺陷和需要改进的地方,并且该如何改进?
本文上手使用并分析了两个常见的代码仓库:Github 和 Gitee。
第一部分 调研,评测
Github
使用记录
Github 首页:
在个人主页可以看到自己的所有仓库:
可以在搜索栏使用过滤器语法搜索开源项目:
可以查看一个仓库:
可以对某个仓库提 issue(社区版 issue 界面):
可以回复和 close issue:
综合评价
优缺点
首先从数据量/界面/功能/准确度多个维度,分析 Github 的优缺点。
优点:
- 用户基数大!!!
开发者可以在 Github 平台上搜索到极为丰富的开源项目,单凭这一点就值得国内程序员即使需要通过一些特殊手段上网也更青睐 Github。比如我最近的实习项目需要集成 remesh 功能到我司软件,我在 Github 上搜索 remesh,从成百上千的仓库中找到了正合我需要的几何处理库,而在 Gitee 上搜索该关键词却得到 0 条记录。 - 搜索功能强大便捷
搜索是 Github 核心功能之一,而 Github 的搜索栏支持过滤器语法,可按语言、仓库、用户、收藏数等条件过滤,我认为这是一件十分符合程序员直觉的事——我上一份实习就是在谷歌做支持过滤器和自动补全的搜索栏,谷歌自己内部的代码管理平台也有非常完善的搜索功能。 - UI 设计舒适
Github 的 UI 设计简洁大方,(熬夜大户程序员喜爱的)深色模式支持良好,能够给与使用者愉悦之感。 - 丰富的第三方支持
Github 有着良好的生态,支持丰富的第三方服务。
缺点:
- 国内访问不稳定
可能是对国内开发者最不友好的问题。我们一定都体会过明明挂上了 ladder,却还是 pull 不下来代码,骂骂咧咧又打开 host 文件更新的经历。 - issue 和 pr 功能简单
社区版 Github 的 issue 不支持分级(P1/2/3…;S1/2/3)(企业版也没支持这个),pr 不能开分支保护(企业版支持这个,对保护的分支合并必须要指定的 reviewer 审核)。WIKI 也是至少团队版才能使用。但对于高校学生团队来说,付费使用团队或企业版是不必要的开销。
改进建议
对于 Github 的改进建议,我作为个体用户希望他们可以在社区版也可以引入更健全的 issue 和 pr 功能。但正如《构建之法》所说,软件企业=软件+商业模式,这也是商业模式的一部分。企业大概率不考虑采纳这样的建议。
综合评价
总体而言,我对于 Github 给出 “e) 非常推荐” 的评价,鉴于它可以几乎完全满足个体开发者和中小型团队的需求。