代码质量管理 阿里Java插件 + Upsource

发表于:2018-11-28 13:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:王家奇士    来源:CSDN

  代码审查的方式
  代码审查主要有两种方式:
  1. pre-push:在提交合并代码之前,先进行审查,通过和才能合并。这是一种非常严格的审查方式,可以确保每个发布的代码都是已经被审查过的。这种放到在github上维护的开源项目极其合适,代码的所有者可以确保代码是在自己的控制范围。
  2. post-push:代码提交后,再审查之前的代码。这是非常宽松的审查方式,审查的效果肯定是打折扣的,但是好处是可以忽略一些不必要的审查以节约时间。其实在国内这种没有太多工程师文化的地方,这种方式是比较好在早期推行的。
  Pre-Push规范工具:
  阿里出的Java开发手册发布之后,发布了配套的代码检查插件,在Intellj 和 Eclipse中都有。以Intellj 为例,Preferences -> Plugins -> Browse repositories... 搜 Alibaba 即可。安装完成之后需要重启IDE。
  插件按照阿里Java开发手册对代码进行校验。
  安装完成之后会出现右键菜单:
  点击扫描之后的结果是:
  在编辑器中也会有直接提示,依据轻重缓急,出现黄色警告或者红色警告,鼠标移动到上面之后,会出现提示信息。点击 more 会有详情,有时候还会有代码样例。

  Pose-Push Review工具
  这个事情在团队中实行的话,是一定需要有个工具的,相关的工具有很多,审查方式也各有偏重。这里工具主要是解决了这几个问题:
  1. 有一个更为直观的界面查看diff。
  2. 可以基于工具进行简单的标记和通知,直接把标记写在代码里更利于沟通。
  3. 可以知道哪些提交时已经被谁审查过了,方便审查的协作。
  这里例举一些,供参考选择。
  1. Gerrit:google的产品,名气很大,但是这个东西设计理念比较陈旧,据说也没有什么维护了,不推荐。
  2. github pull request:这个当然很好,典型的pre-push方式,但是个人用也没太多协同的事情,团队用又觉得贵。其实感觉用bitbucket会经济实用些。
  3. phabricator:facebook内部使用并开源出来的工具,大而全,功能超级强大,但相对的就是非常复杂,界面设计非常欧美的风格,运行速度也有点慢。
  4. gitlab:如果是自己搭建的git server,这个是不错的选择,相当于自己弄了个github,就是配置环境会比较多工作量。
  5. upsource:JetBrains的产品,只有post-push的方式,但是从安装、界面、到使用都是挺不错的,唯一问题就是10个人以上要收费,而且还很贵。Upsource很符合轻量级 Code Review 的场景。
  Upsource的安装和配置
  Upsource是JetBrains出品的专业CodeReview工具,其安装配置简单,专注于代码浏览与审查,免费版支持 admin + guest + 8个用户。对于小团队来说是很好用的。此外,支持跟第三代码审查工具的集成,比如SonaQube。
  Upsource 的安装和配置是非常简单的,下载安装包Zip文件,解压到特定目录。然后用 <upsource-path>/bin/upsource.sh start 命令来启动就可以了,然后根据跳出来的输出的地址(主机名:8080)来打开Web端配置页面。需要注意的是,第一次启动速度是非常慢的,需要配置初始环境。Upsource非常好的解决了安装问题,配置、数据、日志都放在同一个目录中,即解压出来的原始目录,这大大简化了使用。
  另外在服务器上启动过程中,遇到过一个坑,启动过程中报错,导致每次启动到过程中都会出错退出。系统为CentOS 7.2,Upsource版本为:upsource-2017.2.2398。Google也没有发现解决方案,最终换成:upsource-3.5.3616(2016-11月版)问题得以解决。而Mac上则可以直接启动,没有任何问题。
  Upsource很依赖内存,官方推荐需要8G内存才能安装,虽然不会全部用掉,但是整体需要大于8G。
   jetbrains.jetpass.dao.api.FieldException: Field Service::redirectUris is not a valid URIs set
  。。。。
  Caused by: jetbrains.exodus.database.exceptions.SimplePropertyValidationException: redirectUri should be valid uris set but washttp://127.0.0.1:8080/~generatedTree
  。。。。
  * Error while starting JetBrains Upsource 2017.2: HTTP 400 Bad Request
  [2017-10-23 11:24:15,327] * Stopping Upsource Frontend
  安装完成之后,就是配置项目和用户:
  通过 http://<server>:<port>/administration 来进入项目和用户管理页面。
  单击 Users 就进入用户管理界面,增加用户的操作很简单,不截图说明了。组和角色通常不用设置。
  点击 Create project 进入项目设置:
  特别注意:我们最好能够保持 Git项目名、IDEA项目名、Upsource项目名三者一致,这样就可以完全依赖自动配置了。此外,如果用Git连接 + SSH key的方式来连接版本控制,对于Mac和Linux,SSH Key 存储在 用户主目录的.ssh文件夹中,即 ~/.ssh/id_rsa 文件。填入GIt地址,上传Key然后点击 Test Connection。
  解释一下 Code review ID pattern,在做 CodeReview 过程中每次 Review 都需要一个ID,系统会根据这个 Pattern 来自动生成。
  完全配置完成之后,点击 create project 之后就会在后台创建相关信息,这也需要一点时间,页面上会提示在这个过程中不要重启 Upsource。
  在项目和用户创建完成之后,就能为用户配置项目权限了。http://<server>:<port>/administration 来进入项目和用户管理页面,单击 Users,在众多的用户中,选择任何一个点进去,看到如下界面。可以配置项目的管理员权限。

   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
 

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号