12 lines
757 B
Plaintext
12 lines
757 B
Plaintext
Defining and using global variables and global functions, when the convention dictates OOP can be confusing and difficult to use properly for multiple reasons:
|
|
|
|
* You run the risk of name clashes.
|
|
* Global functions must be stateless, or they can cause difficult-to-track bugs.
|
|
* Global variables can be updated from anywhere and may no longer hold the value you expect.
|
|
* It is difficult to properly test classes that use global functions.
|
|
|
|
Instead of being declared globally, such variables and functions should be moved into a class, potentially marked ``++static++``, so they can be used without a class instance.
|
|
|
|
|
|
This rule checks that only object-oriented programming is used and that no functions or procedures are declared outside of a class.
|