Hacker News new | ask | show | jobs
by chj 4770 days ago
Using ifs is definitely more readable than &&, words always win. However carefully alignment of && and ( can make things better. Note that the comment after "if" is necessary to keep the shape balanced.

    if( /* b is same as a */
           (b != nil)
        && (b->qid.type == a->qid.type)
        && (b->qid.path == a->qid.path)
        && (b->qid.vers == a->qid.vers)
        && (b->dev == a->dev)
        && (b->type == a->type)
    ){
        fprint(2, "cp: %s and %s are the same file\n", an, bn);
        ret = 1;
    }
2 comments

"words always win"

Add seven to three then multiply the whole thing by twelve.

(7 + 3) * 12

(mult (add seven three) twelve)
Better, obviously, but I think the regular math notation still wins. It's more concise, and equally (if not more) familiar.
only if you treat symbols as a foreign language