View on GitHub

FooMan's land

Bart Vandewoestyne's blog on software development.

Struggling with legacy code (part 1 of n)

15 Jun 2016

Today, I encountered a nice example of the kind of things our team has to deal with while working our way through legacy code. It boils down to the following: given is a function with the following declaration:

bool doSomethingThatCanFail();

Cppcheck pointed me to a piece of code that uses this function in an if-condition:

if (success = doSomethingThatCanFail() == false)
    return success;

Rather intriguing, isn’t it?

For now, I decided to just deal with the fact that the equality operator has higher precedence than the assignment operator, and make that very explicit to the reader:

if (success = (doSomethingThatCanFail() == false))
    return success;

There, that will do for now. My brain is not ready for more refactoring. That is postponed till later. Bear with me!