-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Welcome to the artis wiki!
These guidelines are intended to prevent bugs and increase the readability of the code to other users (and your future self).
A variable is accessible to some part of the code (the scope) that depends on where it is declared. Minimizing a variable's scope means reducing the number of lines of code that can alter its value, which makes it easier for the programmer (and the compiler) to correctly reason about what the variable contains as the program runs. This is especially important when working on a multithreaded code. Globally-scoped variables (declared inside a header file) are accessible from anywhere in the program, and should be avoided where possible. Variables declared in a source file (outside of any functions) will have file scope, while variables declared inside a C++ block between { and } will exist only within their enclosing block.
for (int ion = 0; ion < 3; ion++)
{
printout("ion = %d", ion);
}
int k = 3;
printout("k = %d", ion); // syntax error: ion is out of scope here
is better than
int ion;
for (ion = 0; ion < 3; ion++)
{
printout("ion = %d", ion);
}
int k = 3;
printout("k = %d", ion); // logical error but valid syntax
The is because any attempt use of the i variable outside of the loop will be detected by the compiler as an error. This can prevent errors where the wrong variable has been accidentally been used in place of another one.