美文网首页
OCLint安装与使用

OCLint安装与使用

作者: 刘应 | 来源:发表于2017-04-21 16:05 被阅读142次

OCLint是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Objective-c的静态分析。功能非常强大,而且是出自国人之手。项目地址:http://oclint.org/。

主要能检查到的代码缺陷:

可能出现的bug,空的if/else/try/catch/finally的参数

没有使用的变量或者参数

复杂的代码逻辑,多个if/else的判断

不需要的代码

过长的方法或者参数

错误的分配方式

....

OCLint是一个开源的项目,你可以通过源码安装,需要设置对应的环境变量,也可以使用作者发布的release进行安装,不过我更习惯使用Homebrew安装。

首先需要设置brew的第三方仓库oclint/formulae。

brew tap oclint/formulae

然后安装OCLint

brew install oclint

针对对OCLint升级的方法:

brew update

brew upgrade oclint

使用brew cleanup可以清理旧版本的安装数据。(不单是oclint的,是所有使用brew安装的安装数据)

xcodebuild

xcodebuild是xcode的编译命令。

可以查看xcodebuild的版本信息:

xcodebuild -version

也可以查看当前系统的sdk以及其版本:

xcodebuild -showsdks

需要使用xcodebuild [flags]命令进行编译并把相关的日志信息输入到xcodebuild.log中,需要在.xcodeproj文件所在的目录里面运行。

xcodebuild | tee xocdebuild.log

flags参数默认使用Release,这样就得到了一份编译代码信息相关的日志。

下面需要对日志使用OCLint进行分析

分析日志

我们需要使用OCLint对日志信息进行分析运行命令

oclint-xcodebuild xcodebuild.log

得到的信息:

Thisbinaryisnolonger under maintenance by OCLint team.Please considerusingxcpretty (https://github.com/supermarin/xcpretty) instead!

oclint-xcodebuild不在使用了,需要安装xcpretty,使用xcpretty命令分析日志信息。

xcpretty是用来格式化xcodebuild输出的工具,使用ruby开发。

安装:

gem install xcpretty

使用参数--report json-compilation-database或者-r json-compilation-database可以生成指定生成数据的格式,当前指定为json格式。

运行命令:

xcodebuild |xcpretty -r json-compilation-database

在build/reports中得到文件compilation_db.json

分析json数据

对于json数据的分析需要使用 oclint-json-compilation-database。

运行命令

oclint-json-compilation-database -- -o=report.html

这样可以到一个html的报告。

但是运行的运行的时候却得到了一个错误信息:

Error:compile_commands.json not found at current location.

找不到complie_commands.json文件,使用xcpretty生成的文件名是:compilation_db.json,在目录build/reports目录中。

因此需要把xcpretty生成的文件compilation_db.json复制到当前目录下。

重命名为 compile_commands.json 

再次运行命令得到生成结果:report.html。

oclint分析json参数

开发者会在项目中会大量使用第三方库,在做OCLint需要忽略对于第三方库的检查,在运行oclint-json-comilation-database的时候可以使用-e忽略不需要分析的目录比如:

oclint-json-compilation-database -e Pods -- -o=report.html

还可以改变一些检查的方式,比如OCLint有一个方法数的检查Long method P3 Method with 179 lines exceeds limit of 100,方法数超过100行就会出现这个警告,可以通过参数改变默认100行的限制。

oclint-json-compilation-database -e Pods -- -rc=LONG_LINE=200 -o=report.html

相关文章

  • Oclint -help

    参考:OClint安装和使用和OClint手册

  • OCLint安装与使用

    OCLint是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Object...

  • OCLint安装与使用

    OCLint是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Object...

  • 使用 OCLint

    概要 使用 Oclint 进行代码检验. 安装 请参考 http://docs.oclint.org/en/sta...

  • OCLint 安装使用

    简介 OCLint 官方文档[http://oclint.org/]OCLint是一种静态代码分析[https:/...

  • OCLint 代码评审工具

    概述: 简要描述 OCLint 的安装以及使用,最后给出一个自动评审的 shell 脚本;参考资料:OCLint...

  • oclint

    安装oclint 安装xcpretty

  • 底层探索--CodeReview值OCLint

    安装 建议使用Homebrew安装://依次执行brew tap oclint/formulae //设置第三方仓...

  • 2021-07-16

    OClint使用 brew tap oclint/formulate brew install oclint 直接...

  • OCLint规则与结果分析

    OCLint是用来做c,c++和Objective-c的静态代码分析工具。在OCLint安装和使用中介绍了OCLi...

网友评论

      本文标题:OCLint安装与使用

      本文链接:https://www.haomeiwen.com/subject/apbmottx.html