From d16db2b7ef2939576ef9dd06e8815e13be7df7b0 Mon Sep 17 00:00:00 2001 From: Marharyta Nedzelska Date: Mon, 12 Aug 2024 15:06:46 +0200 Subject: [PATCH] Modify Rule S1192: Add Dart language --- rules/S1192/dart/metadata.json | 3 ++ rules/S1192/dart/rule.adoc | 60 ++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 rules/S1192/dart/metadata.json create mode 100644 rules/S1192/dart/rule.adoc diff --git a/rules/S1192/dart/metadata.json b/rules/S1192/dart/metadata.json new file mode 100644 index 0000000000..1797133380 --- /dev/null +++ b/rules/S1192/dart/metadata.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/rules/S1192/dart/rule.adoc b/rules/S1192/dart/rule.adoc new file mode 100644 index 0000000000..52668c6d18 --- /dev/null +++ b/rules/S1192/dart/rule.adoc @@ -0,0 +1,60 @@ +== Why is this an issue? + +include::../description.adoc[] + +=== Exceptions + +To prevent generating some false-positives, literals having 5 or less characters are excluded as well as literals containing only letters, digits and '_'. + +== How to fix it + +include::../howtofix.adoc[] + +=== Code examples + +==== Noncompliant code example + +With the default threshold of 3: + +[source,dart,diff-id=1,diff-type=noncompliant] +---- +class A { + void run() { + prepare('string literal'); // Noncompliant - "string literal" is duplicated 3 times + execute('string literal'); + release('string literal'); + } +} +---- + +==== Compliant solution + +[source,dart,diff-id=1,diff-type=compliant] +---- +class A { + static const _const = 'string literal'; + + void run() { + prepare(_const); // Compliant + execute(_const); + release(_const); + } +} +---- + +ifdef::env-github,rspecator-view[] + +''' +== Implementation Specification +(visible only on this page) + +include::../message.adoc[] + +include::../parameters.adoc[] + +include::../highlighting.adoc[] + +''' + + +endif::env-github,rspecator-view[]