
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
80 lines
1.4 KiB
Plaintext
80 lines
1.4 KiB
Plaintext
== Why is this an issue?
|
|
|
|
jQuery doesn't cache elements for you. If you've made a selection that you might need to make again, you should save the selection in a variable rather than making the selection repeatedly.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
With the default threshold of 2
|
|
|
|
[source,javascript]
|
|
----
|
|
$( "p" ).hide();
|
|
$( "p" ).show(); // Noncompliant
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,javascript]
|
|
----
|
|
var paragraph = $( "p" );
|
|
|
|
paragraph.hide();
|
|
paragraph.show();
|
|
----
|
|
|
|
|
|
=== Exceptions
|
|
|
|
Stored selections are not updated when the DOM changes. Since variables may need to updated this rule ignores selections that are repeated during an assignment.
|
|
|
|
[source,javascript]
|
|
----
|
|
var paragraph = $("p");
|
|
|
|
// ...
|
|
|
|
paragraph = $("p");
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Selection "xxx" is made n times. It should be stored in a variable and reused.
|
|
|
|
|
|
=== Parameters
|
|
|
|
.threshold
|
|
****
|
|
|
|
----
|
|
2
|
|
----
|
|
|
|
Number of allowed repetition before triggering an issue
|
|
****
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== on 25 Mar 2015, 11:00:35 Linda Martin wrote:
|
|
\[~ann.campbell.2] Assigned for review and completion.
|
|
|
|
=== on 10 Apr 2015, 14:44:08 Elena Vilchik wrote:
|
|
\[~ann.campbell.2], i added parameter as we discussed.
|
|
|
|
=== on 1 Nov 2019, 17:29:29 Elena Vilchik wrote:
|
|
See \https://github.com/SonarSource/SonarJS/issues/1698
|
|
|
|
endif::env-github,rspecator-view[]
|