Fred Tingaud 51369b610e
Make sure that includes are always surrounded by empty lines (#2270)
When an include is not surrounded by empty lines, its content is inlined
on the same line as the adjacent content. That can lead to broken tags
and other display issues.
This PR fixes all such includes and introduces a validation step that
forbids introducing the same problem again.
2023-06-22 10:38:01 +02:00

66 lines
1.3 KiB
Plaintext

== Why is this an issue?
There are several reasons for a function not to have a function body:
* It is an unintentional omission, and should be fixed to prevent an unexpected behavior in production.
* It is not yet, or never will be, supported. In this case an exception should be thrown in languages where that mechanism is available.
* The method is an intentionally-blank override. In this case a nested comment should explain the reason for the blank override.
=== Noncompliant code example
[source,javascript]
----
function foo() {
}
var foo = () => {};
----
=== Compliant solution
[source,javascript]
----
function foo() {
// This is intentional
}
var foo = () => {
do_something();
};
----
=== Exceptions
* This rule does not apply to function expressions and arrow functions as they can denote default values.
[source,javascript]
----
static defaultProps = {
listStyle: () => {}
};
----
* The rule allows for empty functions with a name starting with the prefix ``++on++`` like ``++onClick++``.
[source,javascript]
----
function onClick() {
}
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]