最近在捣拾组件化的一些工作,把工程项目的三方引用和模块,通过cocoapods管理起来
用到了这么一行命令 pod spec lint 或者 pod lib lint
就很好奇命令的含义,简单查阅,这是pod命令,对于podspec文件的一种静态代码分析
lint是最著名的C语言工具之一,是由贝尔实验室SteveJohnson于1979在PCC(PortableC Compiler)基础上开发的静态代码分析,一般由UNIX系统提供。
lint检查C程序中潜在的错误,包括(但不限于)可疑的类型组合、未使用的变量、不可达的代码以及不可移植的代码。lint会产生一系列程序员有必要从头到尾仔细阅读的诊断信息。使用lint的好处是:
1.它可以检查出被编译器漏掉的错误;
2.可以关联很多文件进行错误的检查和代码分析,具有较强大灵活性.
lint可以检查的错误类型大体如下:
- 可能的空指针
- 在释放内存后使用了指向该内存的指针
- 赋值次序问题
- 拼写错误
- 被0除
- 失败的case语句(遗漏了break语句)
- 不可移植的代码(依赖了特定的机器实现)
- 宏参数没有使用圆括号
- 符号的丢失
- 异常的表达式
- 变量没有初始化
- 可疑的判断语句(例如,if(x=0))
- printf/scanf的格式检查