Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.
Noncompliant Code Example
def compute(a, b)
sum = a + b
if sum > 0 # Noncompliant; empty on purpose or missing piece of code?
end
puts "Result: #{sum}"
end
Compliant Solution
def compute(a, b)
sum = a + b
if sum > 0
puts "Positive result"
end
puts "Result: #{sum}"
end
Exceptions
When a block contains a comment, this block is not considered to be empty.
while
and unless
loops are also exception to the rule.
while @order.process_next; end # Compliant