OCLint

静态代码分析工具
授权协议 BSD-3-Clause
开发语言 C/C++
所属分类 开发工具、 代码管理分析/审查/优化
软件类型 开源软件
地区 不详
投 递 者 姜经武
操作系统 Linux
开源组织
适用人群 未知
 软件概览

OCLint 是一种静态代码分析工具,用于通过检查 C、C++ 和 Objective-C 代码来提高质量并减少缺陷。

它寻找编译器看不到的潜在问题,例如:

  • 可能的错误 - if/else/try/catch/finally 语句为空
  • 未使用的代码 - 未使用的局部变量和参数
  • 复杂的代码 - 高圈复杂度、NPath 复杂度和高 NCSS
  • 冗余代码 - 多余的 if 语句和无用的括号
  • Code smells ——长方法和长参数列表
  • Bad practices - 反转逻辑和参数重新分配
  • ...

静态代码分析是检测编译器不可见的缺陷的关键技术。OCLint 使用高级功能自动执行此检查过程:

  • 依靠源代码的抽象语法树,获得更好的准确性和效率;误报大多被减少以避免有用的结果沉入其中。
  • 动态加载规则到系统,甚至在运行时。
  • 灵活且可扩展的配置确保用户自定义工具的行为。
  • 命令行调用有助于在开发过程中对代码进行持续集成和持续检查,从而尽早修复技术债务,降低维护成本。

OCLint 是一个独立的工具,可以在 Linux 和 Mac OS X 平台上运行。OCLint 基于 Clang Tooling,它是一个方便的库,非常支持编写独立工具。

  • OCLint的部分规则(Basic 部分) 对OCLint的部分规则进行简单翻译解释,有部分进行了验证以及进一步分析、测试。OCLint其他相关内容如下: - - OCLint-iOS-OC项目几种简单使用 OCLint的部分规则(Basic 部分) OCLint的部分规则(Unuseed 部分) OCLint的部分规则(Size 部分) OCLint的部分规则(Redundant 部分) OCL

  • 这篇教程会帮助你尝试分析一小段有问题的C++代码、在读完本教程后、你应该能够: 在单个文件上应用OCLint 使用简单的标识配置OCLint 理解输出内容 通过这篇教程、我们会引导你到你对其中的某个步骤感兴趣或者想要了解更多的详细信息界面 一些代码异味 创建一个 sample.cpp、使用以下的内容: int main() { int i = 0, j = 1; if (j) {

  • 什么是OCLint OCLint是一款静态代码分析工具,它可以用来检查C,C++,Objective-C的代码、从而提高代码的质量、减少潜在的问题 OCLint可以做什么 可能的bug: empty if/else/try/catch/finally statements 没有用过的代码 : 变量、参数等 复杂的代码:高的圈复杂度, NPath复杂度1,high NCSS 冗余代码:冗余的if条件

  • OCLint 0.10.2 包含67条规则 Basic(基本) BitWiseOperationInConditional (在条件语句中查找按位操作的条件、虽然这些操作都很“聪明”,但太聪明的语法很难理解 like:if (a | b)) BrokenNilCheck (nil检查 在某些情况会返回相反的结果 like:if (!obj1)) BrokenNullCheck (null检查会导致

  • 预编译包和本地生成的包最终都会得到一个有着以下属性结构的文件系统: oclint-release |-bin |-lib |---clang |-----3.4 |-------include |-------lib |---oclint |-----rules |-----reporters 即使没有被安装、现在OCLint仍然可以被bin(binary,一种文件格式)直接引用 为了简化调用、我

  • 前言 最近一直在做 iOS 工程自动化方向的事情,所以把自己研究和实践的内容进行记录并分享,希望能给大家一些帮助。 为什么要使用 OCLint 做为一个静态代码分析工具,我们引入 OCLint 的目的主要是为了提高我们的代码质量。通常我们提高代码质量的方式是通过 CodeReview,但是这个过程耗费的人工和时间往往较大,所以我们想通过 OCLint 的一些规则,让机器帮我们完成一部分代码质量的检

  • step1 :下载oclint并安装 下载地址: http://oclint.org/downloads.html 选择mac os x或者darwin的包,下载到本地。 目录类似下面: oclint-release |-bin |-lib |---clang |-----3.4 |-------include |-------lib |---oclint |-----rules |-----re

  • 一 安装加载工程插件bear 安装bear ,生成加载工程路径文件 Bear用于生成oclint工程信息加载文件compile_commands.json 正确执行: 安裝bear ,下载路径: git clone https://github.com/rizsotto/Bear.git 执行如下指令: cd Bear cmake .   (注意点) make Make install 二 安装o

  • 转自:http://www.jianshu.com/p/546770eb1d06 OCLint是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Objective-c的静态分析。功能非常强大,而且是出自国人之手。项目地址:http://oclint.org/。 主要能检查到的代码缺陷: 可能出现的bug,空的if/else/try/catch/finally

 相关资料
  • 代码静态分析可以在不运行代码的情况下,提前检测代码。 主要可以做两点 语法检测 编码规范检测 作为开发人员,在日常编码中,难免会范一些低级错误,比如少个括号,少个逗号,使用了未定义变量等等,我们往往会使用编辑器的 lint 插件来检测此类错误。 对于我们 OpenResty 开发中,日常开发的都是 Lua 代码,所以我们可以使用 luacheck 这款静态代码检测工具来帮助我们检查,比较好的一点是

  • 我想知道是否有一个工具,它将我的代码库和一个jar文件作为输入,它将在代码库中搜索这个jar文件正在使用的任何地方,并给我输出。不应使用Eclispe IDE。(变得微不足道)。我已经搜索了一些静态代码分析工具,如PMD、Checkstyle、findbugs。但他们都没有我需要的选择。你能给我推荐一个能完成上述任务的工具吗?

  • 问题内容: 是否有用于PHP源文件的静态分析工具?二进制本身可以检查语法错误,但是我正在寻找功能更多的东西,例如: 未使用的变量分配 未先初始化就分配给的数组 以及可能的代码样式警告 … 问题答案: 从命令行以lint-mode运行php来验证语法而不执行: 更高级别的静态分析器包括: php-sat - Requires http://strategoxt.org/ PHP_Depend PHP

  • 问题内容: 熟悉Java世界的我一直在寻找一种静态分析工具,该工具也足够智能,可以解决它发现的问题。我使用CodePro工具运行,但是我还是Java社区的新手,不知道供应商。 根据上述标准,您可以推荐哪种工具? 问题答案: FindBugs,PMD和Checkstyle都是绝佳的选择,尤其是将它们集成到构建过程中时。 在上一家公司,我们还使用Fortify检查潜在的安全问题。我们很幸运获得了企业许

  • 本文向大家介绍Java动态代理静态代理实例分析,包括了Java动态代理静态代理实例分析的使用技巧和注意事项,需要的朋友参考一下 代理模式:为其他对象提供一种代理以控制某个对象的访问。用在:在某些情况下,一个客户不想或者不能直接访问另一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用,代理对象还可以完成它附加的操作。 例子:就像房东、租客、中介的关系。中介(代理对象)为房东(真实对象)出租

  • 代码静态检查 我们在代码静态检查中,使用 SonarQube 进行我们的代码质量管理。SonarQube 是一个开源的代码质量管理系统,它可以通过使用插件机制与 IDEA 、Maven 等其他外部工具集成,从而实现了对代码的质量的全面自动化分析和管理。

  • 阅读优秀开源项目源码是提高能力的重要手段,营造舒适、便利的阅读环境至关重要。 4.1 语法高亮 代码只有一种颜色的编辑器,就好像红绿灯只有一种颜色的路口,全然无指引。现在已是千禧年后的十年了,早已告别上世纪六、七十年代黑底白字的时代,即使在字符模式下编程(感谢伟大的 fbterm),我也需要语法高亮。所幸 vim 自身支持语法高亮,只需显式打开即可: " 开启语法高亮功能 syntax enabl

  • 问题内容: 我想找到一种方法来确定PHP中的每个函数以及PHP中的每个文件需要花费多长时间。我有一个旧的遗留PHP应用程序,试图在其中找到“粗糙点”,因此,我想客观地确定哪些例程和页面需要花费很长时间来加载。 是否有任何允许这样做的预制工具,还是我只能使用microtime并构建自己的性能分析框架? 问题答案: 实际上,上周我已经做了一些优化工作。XDebug确实是必经之路。 只需将其启用为扩展名