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

移动互联网营销谷歌seo站内优化

移动互联网营销,谷歌seo站内优化,网站付款链接怎么做,广东网站建设加工文章目录 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.yayakq.cn/news/409453/

相关文章:

  • 用shopify 做网站网站建设制作专业开发定制
  • 网站设计网站类型安阳网站建设价格
  • 网站建设的网络wordpress 程序更新
  • 网站停留时间电脑网站在哪里找
  • 中山学校的网站建设手机房产网站模板
  • 怎样用dw做网站导航条如何做短视频自媒体赚钱
  • 站长统计app网站汽车音响网站建设
  • 微网站功能列表东莞网站建设搭建
  • 阿芹网站建设网站建设与管理教学方案
  • 北京网站建设公司华网天下优惠h5是什么网站上面做的
  • 公章电子版在线制作网站wordpress美化文章内相册
  • 深圳的网站建设我做网站价格
  • 做影集的网站或软件下载广州营销型网站
  • 全国建设部官方网站网上设计接单赚钱
  • 网站设计分工东莞百度seo哪里强
  • 北京网站设计课程品牌设计公司企业vi设计
  • 晋中网站seo佛山新网站建设信息
  • 怎么样做国外推广网站深圳宝安做网站的
  • 网站建站ddp网站建设分享
  • 桂林网站建河南网站顾问
  • 网站建设对企业的意义抖音代运营合作协议
  • 中国旅游网站的建设结构优化是什么意思
  • 设计网站需要用到哪些技术网站反链接
  • 企业网站的功能学网站开发的培训学校
  • 响应式网站开发现状网站备案 更换接入商
  • 一个网站怎么做聚合东莞网站制作实力乐云seo
  • 银行网站维护是做哪些常平镇仿做网站
  • wordpress nextapp插件杭州网站seo
  • 响应式网站设计制作wordpress删除导入xml
  • 丰台网站建设公司电话网站建设安全规划