Hire Temps!

        Submitter: Muli Ben-Yehuda

        Language: C

        Date:        2003/07/16

Compare

((bar*)foo->bar)->gar->member = 
((adapter*)(ptr + 4))->sequence_number++;

(real code, struct and member names changed to protect the guilty) with
struct bar* bar = foo->bar; 
struct gar* gar = bar->gar;
struct adapter* adapter = (ptr + 4);
gar->member = adapter->sequence_number++;
 

I just spent a couple of minutes making sure that the second version is functionally equivalent to the first, and I'm still not sure. Think about it - a couple of minutes for ONE line of code. Code should be written for people first, compilers second. Say no to gratuitous obfuscation, say yes to temporary variables!