了解 CppDepend 对 MISRA C 合规的支持
了解 CppDepend 对 MISRA C 合规的支持
在当今快速发展的汽车行业,可靠且安全的软件的重要性怎么强调都不为过。汽车行业软件可靠性协会(MISRA)在为道路车辆和其他嵌入式系统中开发安全相关电子系统建立最佳实践方面发挥着关键作用。作为车辆制造商、零部件供应商和工程咨询公司之间的协作成果,MISRA 旨在确保软件可靠性的最高标准。
实现 MISRA C 合规的一个重要工具是 CppDepend,它帮助开发人员遵守这些严格的指南。在这份综合指南中,我们将探讨 MISRA C 在汽车行业中的关键作用,以及 CppDepend 如何支持开发人员为车辆和嵌入式系统创建更安全、更可靠的软件。
要了解 MISRA C 标准,您可以打印这份 MISRA C 2012标准文档.
在CppDepend中使用MISRA C规则
创建新的 CppDepend 项目时,会弹出一个窗口,显示您想要包含在分析中的所有编码标准。要包含 MISRA C 编码标准,请勾选 MISRA 选项并选择 MISRA C。
分析项目后,导航到 Queries and Rules Explorer 部分,从左侧菜单中选择 Misra C 规则(在下图中以红色突出显示)。这将在右侧显示所有相关的 Misra C 规则。单击某条规则时,将自动生成相应的 CQLinq 查询和相关源代码。此外,Metrics View 部分提供问题位置和重要性的可视化。
将 MISRA C 规则纳入 HTML 报告
要在生成的 HTML 报告中包含 Misra 规则(在 DevOps Edition 中可用),只需右键单击 Misra C 组并选择“List Code Queries of this Group in a dedicated section in Report”。
MISRA C规则列表
不必要的构造
Rule 2.1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unreachable" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 2.2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unreachable" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 2.3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unused_local_typedef" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 2.5
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="pp_macro_not_used" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 2.6
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unused_label" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 2.7
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues**
where issue.ToolName=="Clang" && issue.Type=="warn_unused_parameter"
select new { issue,issue.FilePath,Line=issue.BeginLine}注释
Rule 3.1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_nested_block_comment" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 3.2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="ext_multi_line_line_comment" select
new { issue,issue.FilePath,Line=issue.BeginLine}标识符和词法约定
Rule 4.2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="trigraph_ignored" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5.3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_decl_shadow" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5.7
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="err_use_with_wrong_tag" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 7.2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule2-13-3" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 7.3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule2-13-4" select
new { issue,issue.FilePath,Line=issue.BeginLine}声明和定义
Rule 8.1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="trigraph_ignored" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8.4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="trigraph_ignored" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8.11
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8.12
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 9.1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_uninit_var" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 9.2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_uninit_var" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 9.4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_uninit_var" select
new { issue,issue.FilePath,Line=issue.BeginLine}指针类型转换
Rule 11.1
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.NbLinesOfCode>**0**
&& m.SourceDecls.First().SourceFile.FileNameExtension.StartsWith("h")
select new { m,IncludeFile=m.SourceDecls.First().SourceFile.FilePathString }Rule 11.5
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 11.7
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 11.8
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 11.9
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}表达式
Rule 12.2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unsequence_mod_use" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 12.3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-18-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 13.3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_integer_sign" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 13.4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_float_integer" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 13.6
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_integer_precision" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5-0-7
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang-Tidy" && issue.Type=="bugprone-integer-division" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5–0–9
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_integer_sign" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5–0–15
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang-Tidy" && issue.Type=="cppcoreguidelines-pro-bounds-pointer-arithmetic" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5–0–18
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="comparePointers" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5–2–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="err_static_downcast_via_virtual" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5–2–4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_old_style_cast" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5–2–6
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_cxx98_compat_cast_fn_obj" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule5–3–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName== "operator&"
select mRule5–3–4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-8-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 5–14–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-14-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}语句
Rule 6–2–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-2-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–2–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_floatingpoint_eq" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–2–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-2-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–3–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-3-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–4–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–4–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6-4-3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="warn_jump_out_of_scope" || issue.Type=="Rule6-6-2" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–4–4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-4"
select new { issue,issue.FilePath,Line=issue.BeginLine}A loop counter shall not have essentially Floating type:
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unannotated_fallthrough" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–4–6
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-6"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–4–7
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_bool_switch_condition" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–4–8
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-8"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–6–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_jump_out_of_scope" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–6–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-6-2" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 6–6–5
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-6-5" select
new { issue,issue.FilePath,Line=issue.BeginLine}声明
Rule 7-3-1
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–3–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–3–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule7-3-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 7–3–4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule7-3-4"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 7–4–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–4–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–5–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="returnAddressOfAutoVariable" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 7–5–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="deadpointer" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 7-5-4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="deadpointer" select
new { issue,issue.FilePath,Line=issue.BeginLine}声明符
Rule 8–4–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsVariadic
select mRule 8–4–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_maybe_falloff_nonvoid_function" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8–4–4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_duplicate_enum_values" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8–5–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_uninit_var" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8–5–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_missing_braces" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8–5–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_duplicate_enum_values" select
new { issue,issue.FilePath,Line=issue.BeginLine}类
Rule 9–5–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule9-5-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 10–1–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule10-1-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 10–3–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule10-3-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 11–0–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from f in **JustMyCode**.Fields where !f.ParentType.IsPOD && f.IsPublic
select fRule 12–1–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where
&& (m.MethodsCalled.Where(vm=>vm.IsVirtual).Count()>**0** || m.IsUsing("Keywords.dynamic_cast".AllowNoMatch()))
select mRule 12–1–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsConstructor && m.Params.Count()==**1** && m.Params.First().ParamType!=null
&& m.Params.First().ParamType.Name=="int" && !m.IsExplicitConstructor
select mRule 12–8–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName== "operator=="
&& m.ParentType.IsAbstract && m.IsPublic
select m异常
Rule 15–0–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule15-0-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 15–3–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsEntryPoint
&& m.IsUsing("Keywords.generic_catch".AllowNoMatch()) select mRule 15–3–5
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="catchExceptionByValue"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 15–3–7
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_exception_caught_by_earlier_handler" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 15–5–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="exceptThrowInDestructor"
select new { issue,issue.FilePath,Line=issue.BeginLine}预处理器
Rule 16–0–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_undef_used" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 16–0–7
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_pp_undef_identifier" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 16–3–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_pp_hashhash_used" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 16–3–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_pp_hash_used" select
new { issue,issue.FilePath,Line=issue.BeginLine}库
Rule 17–0–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_reserved_id_macro" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 17–0–5
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule17-0-5"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–0–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–0–2
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–0–3
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–0–4
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-4"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–0–5
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-5"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–2–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-2-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–4–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-4-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 18–7–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-7-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 19–3–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule19-3-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 27–0–1
此编码标准通过以下查询计算:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-4-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}