OCLint+Xcode实现Code Review

本文介绍了如何利用OCLint和Xcode实现Code Review自动化,包括环境配置(通过brew、安装包和源码安装OCLint,安装xcpretty),Xcode配置(创建Aggregate目标,编写shell脚本,执行分析),以及自定义规则的详细步骤,包括自定义阈值和创建新的AST规则。
摘要由CSDN通过智能技术生成

Code Review是开发过程中保证代码质量不可或缺的一部分,但是呢,要么是懒,要么是真没时间,在我们公司code review已从原来的流于形式到彻底废弃了。最近看了看项目代码,咋写的都有,看着确实难受,于是就动了“code review自动化”的念头。xcode里有内置的Analyser,但由于默认的规则太少导致功能实在很有限。找了半天,就盯上OCLint了。OCLint是啥我就不多说啦,具体可以查看OCLint官网。本篇博客记录了我如何使用oclint进行静态代码分析,只针对Mac。

一、环境配置

需要安装oclintxcpretty

1、安装oclint

方法一:brew安装

命令行执行:

$brew tap oclint/formulae   
$brew install oclint
方法二:安装包安装

(1)进入到github上,下载最新(当前为oclint-0.13-x86_64-darwin-16.7.0.tar.gz)安装包,解压出来为oclint-0.13,放到如下目录:/Users/layne/OCLint,即路径为/Users/layne/OCLint/oclint-0.13
(2)将oclint添加到环境变量。vim打开~/.bash_profile(若没有则创建),添加如下代码:

 OCLINT_HOME=/Users/layne/OCLint/oclint-0.13
 export PATH=$OCLINT_HOME/bin:$PATH

终端执行:

 $oclint

出现如下内容证明没问题:

 oclint: Not enough positional command line arguments specified!
 Must specify at least 1 positional argument: See: oclint -help
方法三:源码安装 (若要自定义规则,则必须使用源码方式安装,后边会说到具体方法。)

1、安装CMake和Ninja

brew install cmake ninja

CMake和Ninja是代码编译工具,因此必须要先安装。
2、从github上下载oclint源码,解压之后重命名为oclint-0.13,然后放到如下目录(随意):/Users/layne/OCLint,最终为/Users/layne/OCLint/oclint-0.13
3、打开终端进入到/Users/layne/OCLint/oclint-0.13/oclint-scripts

cd /Users/layne/OCLint/oclint-0.13/oclint-scripts

然后执行:

./make

之后就开始下载和编译,不过时间会比较长(40min左右),且还必须可以科学上网才可以。成功之后会有如下路径:/Users/layne/OCLint/oclint-0.13/build/oclint-release,这个就是oclint的路径。
4、添加oclint到环境变量。执行:

vim ~/.bash_profile

将如下内容写入:

OCLINT_HOME=/Users/layne/OCLint/oclint-0.13/build/oclint-release
export PATH=$OCLINT_HOME/bin:$PATH

保存退出。重启终端之后在终端执行:oclint --version,出现如下内容:

LLVM (http://llvm.org/):
LLVM version 5.0.0svn-r320669
Optimized build.
Default target: x86_64-apple-darwin17.3.0
Host CPU: broadwell

OCLint (http://oclint.org/):
OCLint version 0.13.
Built Dec 14 2017 (16:03:48).

至此oclint安装成功。

2、安装xcpretty

 gem install xcpretty

说明:这里安装的xcpretty是最新版,github上的oclint源码应该是针对最新版的xcpretty进行了兼容。为什么这么说呢?因为我一开始是采用的方法二安装的oclint,运行oclint现成的规则没有问题。之后想要自定义规则,但是方法三又太麻烦了,于是我就偷懒从网上下载了别人事先编译好的oclint-0.12(这里说的"编译好的oclint"保留了当初编译的“现场”,可以进行自定义规则,而方法二中的是“干净“的oclint),然后进行自定义规则&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值