1. oclint

静态分析代码工具

1.1. 常见的阈值

参考 available-thresholds OCLint 里面一些常见的阈值:

名称 描述 默认值
CYCLOMATIC_COMPLEXITY 循环嵌套数限制 10
LONG_CLASS 类行数限制 1000
LONG_LINE 每行的字符限制 100
LONG_METHOD 方法行数限制 50
LONG_VARIABLE_NAME 参数名字符限制 20
MAXIMUM_IF_LENGTH if 的行数限制 15
MINIMUM_CASES_IN_SWITCH switch case 的最小数目 3
NPATH_COMPLEXITY 通过该方法的非循环执行路径数量限制 200
NCSS_METHOD 连续未注释行数限制 30
NESTED_BLOCK_DEPTH block 嵌套层数限制 5
SHORT_VARIABLE_NAME 变量名的最小字符数限制 3
TOO_MANY_FIELDS 类成员限制 20
TOO_MANY_METHODS 类方法数限制 30
TOO_MANY_PARAMETERS 参数个数限制 10

1.2. 安装

1.2.1. 先安装xctool

$ brew install xctool

1.2.2. 安装oclint

$ brew install Caskroom/cask/oclint

1.3. 使用

1.3.1. 1

File > New > Target > Other > Aggregate 添加一个名为OClintAggregate

1.3.2. 2

OClint > Build Phases > + > New Run Script Phase

Shell中写入以下内容,YourProject.xcodeproj,YourScheme换成对应的内容

source ~/.bash_profile
cd ${SRCROOT}
xctool \
  -project YourProject.xcodeproj \
  -scheme YourScheme \
  -reporter json-compilation-database:compile_commands.json \
  build
oclint-json-compilation-database \
-e Pods \
-- -rc=LONG_LINE=100 \
-rc=NCSS_METHOD=60 \
| sed 's/\(.*\.\m\{1,2\}:[0-9]*:[0-9]*:\)/\1 warning:/'

1.3.3. 3

scheme 选择 OClint > build

1.4. 参考资料

  • [] todo
  • [] todo

  • [] todo- [] todo- [] todo- [] todo- [] todo

1.5. Test

results matching ""

    No results matching ""