
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.
67 lines
1.2 KiB
Plaintext
67 lines
1.2 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Variables, Classes and functions should be defined before they are used, otherwise the code will fail.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,python]
|
|
----
|
|
def noncompliant():
|
|
foo() # Noncompliant
|
|
foo = sum
|
|
|
|
func() # Noncompliant
|
|
def func():
|
|
pass
|
|
|
|
MyClass() # Noncompliant
|
|
class MyClass:
|
|
pass
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,python]
|
|
----
|
|
def compliant():
|
|
foo = sum
|
|
foo()
|
|
|
|
def func():
|
|
pass
|
|
func()
|
|
|
|
class MyClass:
|
|
pass
|
|
MyClass()
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
* XX is used before it is defined. Move the definition before. (if the variable/class/function is defined later in the same scope)
|
|
* XX is used before being declared "global"
|
|
|
|
|
|
=== Highlighting
|
|
|
|
* Primary location: Statement
|
|
* Secondary location:
|
|
** the variable/class/function's definition later in the same scope (if there is one)
|
|
** the global declaration (if there is one after the variable is used)
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|