使用OCLint进行Code Review

OCLint是一个静态分析工具,支持C,C++,Objective-C代码,可以高效的实现Code Review的自动化,检查代码中的缺陷。

  1. 未使用的变量参数
  2. 复杂的代码逻辑,多个if/else的判断
  3. 不需要废弃的代码
  4. 过长的方法名或过多的参数
  5. 其它,可自己设置规则 

下面开始从坏境搭建到配置来讲解OCLint到使用。

一 坏境搭建

1.通过homebrew安装OCLint
brew tap oclint/formulae

  

brew install Clint
2.安装xcpretty
sudo gem install xcpretty  

安装完后,如果控制台输入oclint后出现下面内容,表示安装成功

使用OCLint进行Code Review

二 XCode配置

1.增加taget

在现有xcode项目中增加target,如下图,命名为"oclint"

使用OCLint进行Code Review

 

2.增加脚本

选中OCLint Target,进入Build Phases选项,点左上角的加号,选择“New Run Script Phase”

使用OCLint进行Code Review

脚本输入框输入如上脚本代码:

chmod -R 777 $SRCROOT/oclint
$SRCROOT/oclint/oclint.sh

  

3.创建脚本文件

在主工程目录下新建oclint文件夹,新建oclint.sh脚本文件,编辑内容如下:

cd到工程目录下,执行命令:

使用OCLint进行Code Review

 

 

 

 

使用OCLint进行Code Review 

脚本具体内容:

使用OCLint进行Code Review

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

oclint sh

 

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,可以进行编译了,这时就可以看到设置的规则警告。

使用OCLint进行Code Review

项目中脚本设置了-rc LONG_LINE=140 表示一行不能超过140,所以会出警告。下一步将具体介绍规则配置。

三 OCLint规则

系统默认规则

使用OCLint进行Code Review

四 OCLint自定义规则

 待完成。。

原文链接: https://www.cnblogs.com/menchao/p/11912417.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    使用OCLint进行Code Review

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/306454

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 上午4:20
下一篇 2023年2月16日 上午4:25

相关推荐