Wiki Markup |
---|
Opening and closing braces for {{if}}, {{for}}, or {{while}} statements should always be used, even if said statement has only a single body line. |
...
Braces help improve the uniformity, and therefore readability of code. |
...
More importantly, when inserting an additional statement in a body containing only a single line, it is easy to forget to add braces when the indentation tends to give a strong (but probably misleading) guide to the structure. |
...
h3. Noncompliant Code Example |
...
This noncompliant code example uses an {{if-else}} statement without braces to authenticate a user. |
...
{code |
:bgColor | =#ffcccc | }
int login;
if (invalid_login())
login = 0;
else
login = 1;
{code}
The programmer adds a debugging statement to determine when the login is valid, but forgets to add opening and closing braces. |
...
{code |
:bgColor | =#ffcccc | }
int login;
if (invalid_login())
login = 0;
else
printf("Login is valid\n");
login = 1;
{code}
Due to the indentation of the code, it is difficult to tell that the code is not functioning as intended by the programmer, leading to a possible security breach. |
...
h.3 Compliant Code Example
Opening and closing braces are used even when the body is a single statement.
Code Block |
---|
|
h3. Compliant Code Example
Opening and closing braces are used even when the body is a single statement.
{code:bgColor=#ffcccc}
int login;
if (invalid_login()) {
login = 0;
} else {
login = 1;
}
{code}
h3. Noncompliant Code Example
When you have an {{if-else}} statement nested in another {{if}} statement, always put braces around the {{if-else}}.
This noncompliant code example does not use braces.
{code:bgColor=#ffcccc}
if (a)
if (b)
win();
else
lose();
{code}
h3. Compliant Code Example
{code:bgColor=#ffcccc}
if (a) {
if (b) { win(); } else { lose(); }
}
|