in reply to What A Wonderful World: Bitmasks!
1. It's too easy to do hard-to-detect damage other bits as a side-effect of making a change to one bit.
2. The steps you might take to avoid collateral damage have the effect of burdening the application. Compare
to$args{FOO) = 1; $args{BAR} = 0;
setbit($args, FOO}; clearbit($args, BAR);
3. Method signatures (such as they are in Perl) lose expressive power when arguments are packed together. It gets harder to get a sense of what a chunk of code is doing when you can't quickly and easily tell what a subroutine or method is taking as input (or producing as output). Conceptually, you're widening the method signature to include all of the values packed in to the bit pack, whether they're used or not.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: What A Wonderful World: Bitmasks!
by Aristotle (Chancellor) on Dec 10, 2002 at 16:03 UTC |