Die CppDepend-Unterstützung für MISRA-C-Konformität verstehen
Die CppDepend-Unterstützung für MISRA-C-Konformität verstehen
In der heutigen, sich rasch entwickelnden Automobilindustrie kann die Bedeutung zuverlässiger und sicherer Software gar nicht hoch genug eingeschätzt werden. Die Motor Industry Software Reliability Association (MISRA) spielt eine entscheidende Rolle bei der Etablierung von Best Practices für die Entwicklung sicherheitsrelevanter elektronischer Systeme in Straßenfahrzeugen und anderen eingebetteten Systemen. Als gemeinsame Initiative von Fahrzeugherstellern, Komponentenzulieferern und Ingenieurberatungen zielt MISRA darauf ab, höchste Standards bei der Softwarezuverlässigkeit zu gewährleisten.
Ein wesentliches Werkzeug zum Erreichen von MISRA-C-Compliance ist CppDepend, das Entwicklern hilft, diese strengen Richtlinien einzuhalten. In diesem umfassenden Leitfaden untersuchen wir die zentrale Rolle von MISRA C in der Automobilindustrie und wie CppDepend Entwickler bei der Erstellung sichererer, zuverlässigerer Software für Fahrzeuge und eingebettete Systeme unterstützen kann.
Um die MISRA-C-Standards kennenzulernen, können Sie dieses Dokumentation zum MISRA-C-2012-Standard.
Verwenden von MISRA-C-Regeln in CppDepend
Wenn Sie ein neues CppDepend-Projekt erstellen, erscheint ein Pop-up, das alle Coding-Standards anzeigt, die Sie in Ihre Analyse aufnehmen möchten. Um MISRA-C-Coding-Standards einzuschließen, aktivieren Sie die MISRA-Option und wählen Sie MISRA C.
Nach der Analyse Ihres Projekts navigieren Sie zum Abschnitt Queries and Rules Explorer und wählen im linken Menü die Misra-C-Regeln (im Bild unten rot hervorgehoben). Dadurch werden rechts alle zugehörigen Misra-C-Regeln angezeigt. Beim Klicken auf eine Regel werden automatisch die entsprechende CQLinq-Abfrage und der relevante Quellcode generiert. Zusätzlich bietet der Abschnitt Metrics View eine Visualisierung des Ortes und der Bedeutung des Problems.
Einbindung der MISRA-C-Regeln in den HTML-Bericht
Um die Misra-Regeln in den generierten HTML-Bericht aufzunehmen (verfügbar in der DevOps Edition), klicken Sie einfach mit der rechten Maustaste auf die Misra-C-Gruppe und wählen Sie "List Code Queries of this Group in a dedicated section in Report".
Liste der MISRA-C-Regeln
CppDepend unterstützt 99 MISRA-C-Standardabfragen.
Um ein tieferes Verständnis jeder Regel und ihrer Funktionsweise zu erhalten, konsultieren Sie bitte Dokumentation zum MISRA-C-2012-Standard.
Unnötige Konstrukte
Rule 2.1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues**
where issue.ToolName=="Clang" && issue.Type=="warn_unused_parameter"
select new { issue,issue.FilePath,Line=issue.BeginLine}Kommentare
Rule 3.1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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}Bezeichner und lexikalische Konventionen
Rule 4.2
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule2-13-3" select
new { issue,issue.FilePath,Line=issue.BeginLine}Rule 7.3
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule2-13-4" select
new { issue,issue.FilePath,Line=issue.BeginLine}Deklarationen und Definitionen
Rule 8.1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 8.12
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 9.1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_uninit_var" select
new { issue,issue.FilePath,Line=issue.BeginLine}Zeigertypkonvertierungen
Rule 11.1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 11.7
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 11.8
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 11.9
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}Ausdrücke
Rule 12.2
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-18-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 13.3
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName== "operator&"
select mRule5–3–4
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-14-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Anweisungen
Rule 6–2–1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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:
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-6-5" select
new { issue,issue.FilePath,Line=issue.BeginLine}Deklarationen
Rule 7-3-1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–3–2
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–3–3
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–4–3
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select mRule 7–5–1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="deadpointer" select
new { issue,issue.FilePath,Line=issue.BeginLine}Deklaratoren
Rule 8–4–1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsVariadic
select mRule 8–4–3
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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}Klassen
Rule 9–5–1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from f in **JustMyCode**.Fields where !f.ParentType.IsPOD && f.IsPublic
select fRule 12–1–1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName== "operator=="
&& m.ParentType.IsAbstract && m.IsPublic
select mAusnahmen
Rule 15–0–2
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsEntryPoint
&& m.IsUsing("Keywords.generic_catch".AllowNoMatch()) select mRule 15–3–5
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="catchExceptionByValue"
select new { issue,issue.FilePath,Line=issue.BeginLine}Rule 15–3–7
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="exceptThrowInDestructor"
select new { issue,issue.FilePath,Line=issue.BeginLine}Präprozessor
Rule 16–0–3
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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}Bibliothek
Rule 17–0–1
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
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
Dieser Coding-Standard wird mit der folgenden Abfrage berechnet:
warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-4-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}Testen Sie CppDepend noch heute
Starten Sie Ihre 14-tägige kostenlose Testversion mit vollem Zugriff auf alle Dokumentationsfunktionen. Keine Kreditkarte erforderlich.
