· 编程思想 · 3 min read
使用OCLint规范Objective-C代码

OCLint
静态代码检查是通过工具对代码或编译的产物进行一定的检查,从而发现一些简单明显的bug或不规范的地方。它可以帮助我们减少低级的代码错误。上一篇我们讲了Analyze,这一篇我们讲OCLint。
OCLint类似我们在做Java开发的java hint,和前段开始的ESLint,jshint,这些静态代码检查工具。使用起来效果还不错可以规范整个团队的代码,提高开发质量。
保证每次提交的代码可以lint通过是一个合格程序员基本素养
安装OCLint
- 按照Home brew。控制台运行
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - Home brew安装OCLint
brew tap oclint/formulae
brew install oclint
- 如果通过Home brew安装不成功可以直接下载darwin https://github.com/oclint/oclint/releases 然后为
.bashrc或.bash_profile添加下面
OCLINT_HOME=/path/to/oclint
export PATH=$OCLINT_HOME/bin:$PATH
为项目田间OCLint的配置文件.oclint
项目根目录创建一个.oclint,这里提供了一个通用模版
# 禁用哪些规则
disable-rules:
- UnusedMethodParameter
- UselessParentheses
- UnnecessaryDefaultStatement
# 检查标准配置
rule-configurations:
- key: LONG_LINE
value: 120
- key: LONG_VARIABLE_NAME
value: 30
- key: MINIMUM_CASES_IN_SWITCH
value: 1
# 报表的类型
report-type: html
# 报表文件
output: oclint.html
# 设置P1,P2,P3 问题最大个数
max-priority-1: 0
max-priority-2: 10
max-priority-3: 20
如果对于某些项目来说又些不合适的,开发人员可以配置自己项目的.oclint文件。
为项目创建一个lint Shell脚本
项目根目录创建一个lint.sh,这里提供了一个通用模版。开发者需要更具自己项目修改下面2点
- xcodebuild编译语句,指定自己的project, scheme等
- oclint-json-compilation-database 命令里指定自己项目的排除文件
# 删除已经存在了的静态代码检查文件
rm compile_commands.json
rm xcodebuild.log
rm oclint.html
# 编译项目,将日志写入xcodebuild.log
xcodebuild -workspace MobilexApart.xcworkspace -configuration "Release" -scheme "Cross" -sdk iphoneos BUILD_DIR="./build" clean build | tee xcodebuild.log
# 将xcodebuild日志转换为oclint文件列表
oclint-xcodebuild
# 扫描oclint文件列表生成报表,-e 可以指定排除那些文件例如第三方文件
oclint-json-compilation-database -v -e AFNetworking -e ISRDataHelper.m -e ShareSDK -e IflyMSC -e SSZipArchive -e iFlyLivenessDetectionLib -e Library/Developer/Xcode -e FMDB -e IATConfig
# 删除不必要的中间文件
rm compile_commands.json
rm xcodebuild.log
#打开报表
open ./oclint.html
生成的报表类似: 
更多关于OCLint的知识了参考
Share:



