Fred Tingaud 32593aad3b
Modify rule S4144: Adapt to LaYC format (#1935)
Co-authored-by: Quentin Jaquier <quentin.jaquier@sonarsource.com>
2023-06-05 17:24:05 +02:00

68 lines
1.2 KiB
Plaintext

== Why is this an issue?
:func_name: function
include::../description.adoc[]
[source,javascript,diff-id=1,diff-type=noncompliant]
----
function calculateCode() {
doTheThing();
doOtherThing();
return code;
}
function getName() { // Noncompliant: duplicates calculateCode
doTheThing();
doOtherThing();
return code;
}
----
include::../inter.adoc[]
[source,javascript,diff-id=1,diff-type=compliant]
----
function calculateCode() {
doTheThing();
doOtherThing();
return code;
}
function getName() { // Intent is clear
return calculateCode();
}
----
=== Exceptions
* Functions with fewer than 3 lines are ignored.
* This rule does not apply to function expressions and arrow functions because they don't have explicit names and are often used in a way where refactoring is not applicable.
[source,javascript]
----
list.map((item) => ({
name: item.name,
address: item.address,
country: item.country
}));
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
include::../highlighting.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]