当前位置: 首页 > news >正文

买模板做网站福州百度推广排名

买模板做网站,福州百度推广排名,游戏租号网站开发,wordpress 类似是用java的文章目录 0. 概述1. 安装 oclint2. oclint配置文件3. 脚本详解3.1 禁用的规则列表3.2 需要启用的规则代码风格代码复杂性命名规范性能安全性其他 4. 检测执行1. 使用 CMake 生成 compile_commands.json2. 运行 Oclint 0. 概述 OCLint是一个静态代码分析工具,通过词…

文章目录

    • 0. 概述
    • 1. 安装 oclint
    • 2. oclint配置文件
    • 3. 脚本详解
      • 3.1 禁用的规则列表
      • 3.2 需要启用的规则
        • 代码风格
        • 代码复杂性
        • 命名规范
        • 性能
        • 安全性
        • 其他
    • 4. 检测执行
      • 1. 使用 CMake 生成 `compile_commands.json`
      • 2. 运行 Oclint

0. 概述

OCLint是一个静态代码分析工具,通过词法分析和语法树生成来解析C、C++和Objective-C代码。它应用预定义规则集,进行语义分析和静态检查,检测代码风格、复杂性、潜在错误、性能和安全问题。

1. 安装 oclint

下载 https://github.com/oclint/oclint/releases/download/v0.13.1/oclint-0.13.1-x86_64-linux-4.4.0-112-generic.tar.gz

设置环境变量后即可运行

2. oclint配置文件

---
# 禁用的规则列表
disable-rules:- LongLine- LongMethod- HighNPathComplexity- HighCyclomaticComplexity- DeepNestedBlock- HighNcssMethod- LongParameterList# 需要启用的规则
rules:# Code Style Rules- RedundantVoidArgument- UseBoolLiteral- UseEqualsDefault- UseNullptr- MissingOverride- ExplicitConstructor- CppStyleCasts- BracesAroundStatements- ClassNamingConvention- StructNamingConvention- TypedefNamingConvention- EnumNamingConvention- MacroParentheses- ForwardDeclarationNamespace- LongVariableName- ShortVariableName- SwitchStatementsShouldHaveDefault- UseContainerLiteral- UselessParentheses# Performance Optimization Rules- AvoidPrivateStaticMembers# Security Rules- CertDcl21Cpp# Potential Bugs- BoolPointerImplicitConversion- MisplacedWideningCast- NarrowingConversion- ReinterpretCast- UnconventionalAssignOperator- DeadCode- DeprecatedObjCImplementedProtocols- DuplicateMethodMatch- InvertedLogic- NilAssignedToNonPointer- RedundantConditionalOperator- RedundantIfStatement- RedundantNilCheck- ReturnFromFinallyBlock- UnreachableCode- UnusedMethodParameter- UnusedLocalVariable# Best Coding Practices- NonConstParameter- UndelegatedConstructor- MacroRepeatedSideEffects- ParameterReassignment- PreferEarlyExit- NestedBlockDepth- MagicNumber- MissingBreakInSwitchStatement- TooManyFields- TooManyMethods- TooManyParameters- UseEarlyExit# Miscellaneous- GotoStatement

3. 脚本详解

以下是对给定OCLint配置文件的解读:

3.1 禁用的规则列表

这些规则被禁用,是为了避免在代码分析过程中被检查到:

  1. LongLine - 禁用对代码行长度的检查。
  2. LongMethod - 禁用对方法长度的检查。
  3. HighNPathComplexity - 禁用对N路径复杂度的检查。
  4. HighCyclomaticComplexity - 禁用对圈复杂度的检查。
  5. DeepNestedBlock - 禁用对深层嵌套块的检查。
  6. HighNcssMethod - 禁用对方法的NCSS(非注释源代码语句)数量的检查。
  7. LongParameterList - 禁用对长参数列表的检查。

3.2 需要启用的规则

这些规则被启用,是为了在代码分析过程中进行检查:

代码风格
  1. RedundantVoidArgument - 检查冗余的void参数。
  2. UseBoolLiteral - 强制使用布尔字面量(true/false)。
  3. UseEqualsDefault - 使用=default指定默认构造函数。
  4. UseNullptr - 使用nullptr代替NULL。
  5. MissingOverride - 检查缺失的override关键字。
  6. ExplicitConstructor - 强制构造函数使用explicit关键字。
  7. CppStyleCasts - 使用C++风格的类型转换。
  8. BracesAroundStatements - 强制在语句周围使用大括号。
  9. SwitchStatementsShouldHaveDefault - 检查switch语句中是否有default分支。
  10. UseContainerLiteral - 使用容器字面量。
  11. UseEarlyExit - 优先使用提前返回。
代码复杂性
  1. NestedBlockDepth - 检查嵌套块的深度。
  2. LongVariableName - 检查变量名称是否过长。
  3. ShortVariableName - 检查变量名称是否过短。
  4. TooManyFields - 检查类中字段的数量是否过多。
  5. TooManyMethods - 检查类中方法的数量是否过多。
  6. TooManyParameters - 检查方法的参数数量是否过多。
命名规范
  1. ClassNamingConvention - 检查类的命名规范。
  2. StructNamingConvention - 检查结构体的命名规范。
  3. TypedefNamingConvention - 检查typedef的命名规范。
  4. EnumNamingConvention - 检查枚举的命名规范。
性能
  1. NonConstParameter - 检查非const参数。
  2. UndelegatedConstructor - 检查未委托的构造函数。
  3. AvoidPrivateStaticMembers - 避免私有静态成员。
安全性
  1. CertDcl21Cpp - CERT C++编程标准的规则。
  2. MacroParentheses - 检查宏定义中的括号。
  3. MacroRepeatedSideEffects - 检查宏定义中重复的副作用。
  4. ForwardDeclarationNamespace - 检查命名空间中的前向声明。
  5. BoolPointerImplicitConversion - 检查布尔指针的隐式转换。
  6. MisplacedWideningCast - 检查位置错误的扩宽类型转换。
  7. NarrowingConversion - 检查缩小类型转换。
  8. ReinterpretCast - 检查reinterpret_cast。
  9. UnconventionalAssignOperator - 检查非常规的赋值操作符。
其他
  1. DeadCode - 检查死代码。
  2. DeprecatedObjCImplementedProtocols - 检查废弃的ObjC实现的协议。
  3. DuplicateMethodMatch - 检查重复的方法匹配。
  4. GotoStatement - 检查goto语句。
  5. InvertedLogic - 检查反向逻辑。
  6. MagicNumber - 检查魔术数字。
  7. MissingBreakInSwitchStatement - 检查switch语句中缺失的break。
  8. NilAssignedToNonPointer - 检查将nil赋值给非指针。
  9. ParameterReassignment - 检查参数重新赋值。
  10. RedundantConditionalOperator - 检查冗余的条件操作符。
  11. RedundantIfStatement - 检查冗余的if语句。
  12. RedundantNilCheck - 检查冗余的nil检查。
  13. ReturnFromFinallyBlock - 检查finally块中的返回。
  14. UnreachableCode - 检查无法到达的代码。
  15. UnusedMethodParameter - 检查未使用的方法参数。
  16. UnusedLocalVariable - 检查未使用的局部变量。
  17. UselessParentheses - 检查无用的括号。

4. 检测执行

1. 使用 CMake 生成 compile_commands.json

为了使用 Cppcheck 的 --project 选项,你需要一个 compile_commands.json 文件。这个文件是一个编译数据库,包含项目中所有源文件的编译信息。
如果你的项目使用 CMake 构建,可以通过以下命令生成 compile_commands.json 文件:

cd /path/to/your/project
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .

运行上述命令后,会在项目的构建目录中生成一个 compile_commands.json 文件。

2. 运行 Oclint

  • .oclint配置文件放在代码工程根目录
  • 接着执行:oclint-json-compilation-database -p . -- -extra-arg=-std=c++14 -report-type html -o oclint_report.html
http://www.yidumall.com/news/37436.html

相关文章:

  • 网站开发与网站建设营销推广平台
  • 企鹅自媒体平台注册优化好搜移动端关键词快速排名
  • 中色十二冶金建设集团有限公司网站自己建个网站要多少钱
  • 英文网站建设580百度竞价渠道户
  • 自己做网站卖水果网络营销案例分析
  • 如何运用网站做宣传新疆疫情最新情况
  • 广州品牌网站建设 优美批量关键词调排名软件
  • 中国域名门户网站谷歌搜索引擎首页
  • 江西网站设计电话网站页面优化方法
  • 前端网站如何做全景图指数是什么意思
  • php网站开发周期多长nba最新交易新闻
  • 大型网站开发语言排名设计公司网站
  • 昆山高端网站建设机构排名sem优化软件
  • 做网站的公司北京有哪些seo自学网免费
  • 上海网站制作技术简短的营销软文范文
  • 做网站设计师工资多少推广优化工具
  • 解决wordpress更改新域名后网站不能访问的问题技术培训学校机构
  • 网站申请域名免费的发帖收录网站
  • 企业融资需求班级优化大师功能介绍
  • 开发公司对设计单位奖惩中国网民博客 seo
  • 做电商网站的框架结构图网络营销的概念和特点是什么
  • 微信h5制作小程序有哪些网站怎样优化文章关键词
  • 电商网站前端页面响应式设计怎样优化关键词到首页
  • 2012服务器做网站网址注册查询
  • 做电影收费网站各大搜索引擎入口
  • 著名网页设计师及作品金阊seo网站优化软件
  • 哪个网站做娱乐手机百度浏览器
  • 做外国购物网站需要交税吗快速排名教程
  • 做网站需要的相关知识百度网站优化软件
  • 企业网站建设的一般要素包括什么小蝌蚪幸福宝入口导航