很多公司里面都会强调代码规范的问题,开发者也都知道代码规范的好处。可实际开发中往往因为各种原因使我们把它的优先级不知不觉中降低了。
这里向一个有代码追求和洁癖的程序猿推荐一个分析工具,它可以成为你重构代码或着review的基本规则
OCLint是一个静态分析工具
Xcode不是有静态分析么,这个有什么卵用? 下面就是官方的文档
OCLint is a static code analysis tool for improving quality and reducing defects by inspecting C, C++ and Objective-C code and looking for potential problems like:
- Possible bugs - empty if/else/try/catch/finally statements
- Unused code - unused local variables and parameters
- Complicated code - high cyclomatic complexity, NPath complexity and high NCSS
- Redundant code - redundant if statement and useless parentheses
- Code smells - long method and long parameter list
- Bad practices - inverted logic and parameter reassignment
- ...
可能的bugs(空的 if/else/try 等等语句)
无用的代码 (无用的变量或者参数)
结构复杂度高的代码
冗余代码
代码风格:长方法和长参数列表
逻辑混乱
还有很多诸如 变量名太随便,switch case太少等等,甚至你可以自己定制你想要的规则,这些都可以成为你重构代码或着review的基本规则
OCLint 有很多使用方式,CMake,Bear,xcodebuild,xctool,Xcode,Jenkins,我觉得比较好用的是Xcode和Jenkins,这里主要的也是说和Xcode集成相关的东西。
下载地址:http://oclint.org/downloads.html
安装方法:http://docs.oclint.org/en/dev/intro/installation.html 就不多说了。
Xcode集成步骤:
1.添加target,如下图所示,target名字一般就叫做OCLint
2.为target添加脚本
3.定制脚本
你可以定制自己的代码分析标准,因为OCLint是兼容C,C++和OC的,可能有一些并不适用于OC,下面这个是官方给出的脚本
4.开始分析
选择刚刚创建的OCLint 的target,点build或者 Command+B 快捷键
5.分析完成以后,你看到数量难以想象的各种各样的警告
看看Xcode左边栏
xi
有些警告规则是不合适的,你可以在分析语句里面定制自己的规则,见:http://docs.oclint.org/en/dev/customizing/rules.html
有些是根本不想要的,在/usr/lib/oclint/rules/ 这个目录下面分析规则是以.dylb 文件存储,被OCLint动态加载的。
搜索到没用的规则,删掉从新编译即可