-
Notifications
You must be signed in to change notification settings - Fork 2k
Expand file tree
/
Copy pathComplexCondition.qhelp
More file actions
28 lines (23 loc) · 999 Bytes
/
ComplexCondition.qhelp
File metadata and controls
28 lines (23 loc) · 999 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE qhelp PUBLIC
"-//Semmle//qhelp//EN"
"qhelp.dtd">
<qhelp>
<overview>
<p>Very complex conditions are hard to understand and therefore are a source of a lot of defects.</p>
</overview>
<recommendation>
<p>Complex expressions can often be made easier to read by separating them into different variables
or even giving some parts of the condition their own boolean valued method. Using separate methods
both reduces code reuse and simplifies the expression.</p>
</recommendation>
<example>
<p>This example demonstrates some possible conditions and whether or not they are acceptable. As
you can see, the length of the condition is not the only thing that contributes to its complexity.
</p>
<sample src="ComplexCondition.cs" />
</example>
<references>
<li>Robert C. Martin - <em>Clean Code: A Handbook of Agile Software Craftsmanship</em>, §17.G28</li>
<li>Steve McConnell - <em>Code Complete: A Practical Handbook of Software Construction</em></li>
</references>
</qhelp>