使用OCLint进行Code Review
Posted menchao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用OCLint进行Code Review相关的知识,希望对你有一定的参考价值。
OCLint是一个静态分析工具,支持C,C++,Objective-C代码,可以高效的实现Code Review的自动化,检查代码中的缺陷。
- 未使用的变量参数
- 复杂的代码逻辑,多个if/else的判断
- 不需要废弃的代码
- 过长的方法名或过多的参数
- 其它,可自己设置规则
下面开始从坏境搭建到配置来讲解OCLint到使用。
一 坏境搭建
1.通过homebrew安装OCLint
brew tap oclint/formulae
brew install Clint
2.安装xcpretty
sudo gem install xcpretty
安装完后,如果控制台输入oclint后出现下面内容,表示安装成功
二 XCode配置
1.增加taget
在现有xcode项目中增加target,如下图,命名为"oclint"
2.增加脚本
选中OCLint Target,进入Build Phases选项,点左上角的加号,选择“New Run Script Phase”
脚本输入框输入如上脚本代码:
chmod -R 777 $SRCROOT/oclint $SRCROOT/oclint/oclint.sh
3.创建脚本文件
在主工程目录下新建oclint文件夹,新建oclint.sh脚本文件,编辑内容如下:
cd到工程目录下,执行命令:
脚本具体内容:
export LC_ALL=en_US.UTF-8 source ~/.bash_profile #获取项目路径 PROJECT_DIR=$(cd `dirname $0`;cd ..;pwd) cd ${PROJECT_DIR} buildPath="${PROJECT_DIR}/oclint/build" compilecommandsJsonFolderPath="${PROJECT_DIR}/oclint" compilecommandsJsonFilePath="${PROJECT_DIR}/oclint/compile_commands.json" rm -rf "$compilecommandsJsonFolderPath/build" xcodebuild SYMROOT=$buildPath | xcpretty -r json-compilation-database -o $compilecommandsJsonFilePath cd $compilecommandsJsonFolderPath oclint-json-compilation-database -- -report-type xcode -rc CYCLOMATIC_COMPLEXITY=10 -rc LONG_CLASS=1000 -rc LONG_METHOD=50 -rc LONG_LINE=140 -rc LONG_VARIABLE_NAME=30 -rc SHORT_VARIABLE_NAME=1 -rc MAXIMUM_IF_LENGTH=5 -rc MINIMUM_CASES_IN_SWITCH=2 -rc NCSS_METHOD=30 -rc NESTED_BLOCK_DEPTH=5 -rc TOO_MANY_METHOD=30 -rc TOO_MANY_PARAMETERS=5 -max-priority-1 0 -max-priority-2 5 -max-priority-3 10
4.compile_commands.json配置
使用xcpretty生成的compilation_db.json,
xcodebuild |xcpretty -r json-compilation-database
工程同级目录下会生成build/reports/ompilation-db.json,拷贝到oclint目录下,重命名为compile_commands.json。如步骤3。
以上配置完成后,target选择oclint,可以进行编译了,这时就可以看到设置的规则警告。
项目中脚本设置了-rc LONG_LINE=140 表示一行不能超过140,所以会出警告。下一步将具体介绍规则配置。
三 OCLint规则
系统默认规则
四 OCLint自定义规则
待完成。。
以上是关于使用OCLint进行Code Review的主要内容,如果未能解决你的问题,请参考以下文章