Rockbox mail archive
Subject: Re: Read errors
From: Mike Holden (rockbox_at_mikeholden.uklinux.net)
Linus Nielsen Feltzing said:
> Mike Holden wrote:
>> Maybe a better construct would be to define 2 macros, called success()
>> and failure() which do a bit of hidden "magic" to make the code more
> Absolutely not! That kind of "hidden magic" is against everything my
> coding philosophy stands for. I want things visible in the code. Keep It
> Simple Stupid.
Fair enough! Reasonable comment.
>> That way you can write "if (success(somefunction()))", which is way
>> more readable than "if(somefunction())" where somefunction() returns 0
>> for success.
> I don't agree. I think the latter is way more readable, because it shows
> what is going on, instead of hiding it in a hard-to-debug macro.
The other option, where the function does not return a boolean, is to make
this more obvious in the if statement, so the above becomes "if (0 !=
somefunction())", which makes the whole thing readable without hidden
macros, and also makes it obvious to the reader of the code that
somefunction() doesn't return a boolean, but an integer instead. That way
it helps the reader who is not intimately familiar with the code, who may
not know (without checking the source for it) that somefunction() returns
0 for success.
> A simple comment may be in place, however.
Indeed. A well placed comment can make a world of difference, especially
when unfamiliar with the code.
Page was last modified "Jan 10 2012" The Rockbox Crew