== 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[]