被分配个调研任务,代码评审工具

最终选择了SonarQube

调研任务

任务由来

目前应用组代码审核工作依赖于bug解决难易度,长时间不能解决的问题才会引入他人联合查找原因,很多bug原因是由于人员编程习惯、熟练度的不同导致,此种方式无法保障代码质量,而每周腾出固定时间进行集体代码审核不但影响开发进度,而且每次都要过几乎全部代码或者对比之前提交的每个版本代码,再或者由编写者描述修改位置、内容,审核者审核,效率低且容易遗漏代码变更点,发现问题后还需要与代码编写者沟通问题代码位置、调整建议,此过程还需要手动记录,不然两方都很容易遗忘,影响问题代码修正。

基于以上原因,急需依赖于代码版本管理库的代码审核平台,可以在线针对代码编写人员每次提交进行迭代代码审核,无需每次阅读完整代码,且支持在线批注代码,记录问题代码的同时,方便代码编写者查看他人批注的问题代码,修改后也便于批注者确认代码修正,甚至可以进一步加固主线代码可用性,设定未审核代码不能提交至主线,相信其它组也用得上。

代码审核平台一年前李工带人做过调研,提出过四五个,我们组自己搭建验证过多数,都很难达到预期效果,只有gerrit平台没有搭建成功试用,后来王工安排井工尝试过搭建,后因开发进度问题没有继续,建议优先尝试gerrit,有其他合适的平台也可以进行搭建试用,试用工作我们组可以进行,需要代码版本库对接也可以对接北京git服务器。

随着和视X平台量产启动,不论对终端还是平台的开发都是个挑战,一方面要保障平台的稳定负载,另一方面要保障终端老化运行的稳定性,在功能逻辑完善的前提下,代码逻辑质量这些细节之处就显得尤为重要,所以还请尽快解决啊!

另,建议顺便搭建试用类似redmine之类的完整项目管理平台,可以节省相关项目文档修改、传递、同步、整理上的时间,实现看板、任务统计管理在线化,任务变更可追溯,加强人员对项目进度信息的了解,项目收尾阶段导出相关数据结合现有WBS表格样式作为项目归档使用。

分析

看完文字,直觉就是在说要用Github,又想到Github现在支持私有库

买现成的企业版肯定不如自己搭建一个服务来得方便,看来是要我搭建一个gerrit

一个疑问:Github上的评论系统不是挺好的么?难道不适合评审代码?

现有的git服务是什么?是搭建了一个Gitlab么?

实践

搭建gerrit

参考1

调研两个代码评审工具:https://blog.csdn.net/No__names/article/details/79872395

代码评审在今天的软件行业变得越来越重要,选择并熟悉一款优秀高效的代码评审工具也是十分有必要的。
现有代码评审工具很多,优秀的也不少,简单对两款代码评审工具进行了了解调研。

Gerrit

Gerrit是一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。它分支自Rietveld,作者为Google公司的Shawn Pearce,原先是为了管理Android计划而产生。

Gerrit的优点:Gerrit通过允许任何授权用户将更改提交给主Git存储库来简化基于Git的项目维护,而不是要求所有已批准的更改由项目维护者手动合并。这在一定程度上提高了项目更新的灵活度,减轻了项目维护管理者的负担。

Gerrit的缺点:不过上述做法的缺点也比较明显,在提高项目更新的灵活度的同时带来了风险,因为任何曾经获取过授权的人都有权限更改项目代码,这将容易导致项目代码被频繁随意更改。

Barkeep

Barkeep的优点:将会把对Git上代码仓库进行的修改通过邮件的方式通知给用户,便于用户随时跟踪项目进度。同时它设置了相关语法语句的高亮显示,对于使用者的高效阅读是很有帮助的。除此之外它还有的优点有:干净的UI,简单容易的使用方法,幽默的语言等。

Barkeep的缺点:正如Barkeep团队所说,每个软件系统都有它的缺点,Barkeep也不例外,对于Barkeep而言,它似乎不如Gerrit灵活。

关于码云

企业版套餐常见问题:https://gitee.com/help/articles/4203#article-header0

5人小团队免费似乎不错

关于Github

关于Gitlab

相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一

本周有个朋友公司需要一个类似github的代码仓库管理系统,本人选择了gitlab(没有什么对比了,好像目前就gitlab最好了并且维护也不错了),下面就来说说搭建私有github系统的过程

关于Gitbook

通过 GitBook 开源框架和 GitHub 私有化部署 Wiki 文档:https://blog.csdn.net/java1573/article/details/78851270

关于Gerrit

官网:https://www.gerritcodereview.com

在Linux上安装Gerrit的快速入门:https://gerrit-documentation.storage.googleapis.com/Documentation/2.16.5/linux-quickstart.html

Gerrit是一个建立在Git版本控制系统之上,基于Web的代码审查工具。

Gerrit是一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。

代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行过程中,却因为种种原因被Delay甚至是忽略。在实践中,免费、开放源代码的代码审查软件Gerrit是一个很好的选择。

它在传统的源码管理协作流程中强制性引入代码审核机制,通过人工代码审核和自动化代码验证过程,将不符合要求的代码屏蔽在代码库之外,确保核心代码多人校验、多人互备和自动化构建核验。

Gerrit适用性:几乎任何需要正式发布的项目都应当使用Gerrit来进行代码审查,如果Team中有新人,必须使用Gerrit确保代码质量。

Gerrit上进行代码审查,确认入库

Verify:工程里面接入了jenkins自动verify,结果可在上图红框内展示verify结果。

review代码,提交入库。

【Gerrit】Linux + Gerrit + Nginx + gitweb安装全过程:http://lipeng1667.github.io/2017/01/17/build-gerrit-with-nginx/#开发环境

Gerrit安装和使用说明:http://www.cnblogs.com/smallcoderhujin/p/3937641.html

Gerrit代码审核服务器搭建全过程:https://blog.csdn.net/tq08g2z/article/details/78627653

centos部署配置gerrit+gitlab实现代码的review与自动同步:http://blog.51cto.com/nanfeibobo/2089513

关于Git

搭建Git服务器:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

Git本地服务器搭建及使用:https://www.cnblogs.com/linsanshu/p/5512038.html

搭建属于你自己的 Git 服务器:https://linux.cn/article-9858-1.html

版权声明:本文为ioufev原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ioufev/articles/10395027.html