68 lines
1.2 KiB
Plaintext
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[]
|