|
Are you sure it is a bitmask and not actually a bitmap?
When we load our test or demo environments and need to sanitize the data we have strings in some of our setup sprocs that replace various fields like encrypted passwords, binary documents and images with pre-determined strings.
|
|
|
|
|
Yes, and the evidence is here on CP.[^]
However, I wasn't doing any bit manipulations, needed to represent variable length ciphers, and was just too lazy to do the fancy bit-shifting, etc.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
#cough# years ago, I was working on an interface to the ATM / POS network for the bank. The message spec has a bitmap at the beginning indicating the fields that would be provided; IIR it was 4 or 8 bytes. We created it properly but communicated with the card server sending strings rather then byte arrays; don't ask. Windows in it's infinite wisdom saw that the two boxes had different code pages so converted the messages. It took us an age to find that one and I got a 3 1/2 year contract in Budapest on the back of it.
Panic, Chaos, Destruction.
My work here is done.
or "Drink. Get drunk. Fall over." - P O'H
|
|
|
|
|
"Can you think of why a programmer would ever use a string to act as a bitmap field?"
How about, they represent default boolean configuration settings. You can change them after the fact by patching the EX with a different string - once you find the string, of course.
|
|
|
|
|
if (doc.status==3)
{
}
else if (doc.status == 2 || doc.status == 1)
{
AddDoc(doc);
}
Finish();
Should i laugh or cry?
|
|
|
|
|
I just keep reading it, my mouth agape. I've read three pieces of code in the past 24 hours that look like this!
|
|
|
|
|
I wish I could send you some of the code I'm reviewing currently but I can't due to a confidentiality momerandum. The above snippet looks like an oasis to me
|
|
|
|
|
What?! He's not throwing an exception when doc.status > 9000! Lame code is lame.
|
|
|
|
|
Maybe that first if statement was included for the purpose of pseudo-documentation. For example, maybe 3 should never have extra processing (e.g., it's a reserved doc status), but 4 or 5 might. However, they don't currently exist, so they weren't coded against.
More than likely, though, this is part of some maintenance programming where only the minimum of changes required to make the program work were performed, leaving spaghetti behind.
|
|
|
|
|
|
So YOU'RE the culprit who wrote the code!
|
|
|
|
|
lol no,
I have some lil' jewels of my own but no, that one isn't mine
|
|
|
|
|
Take a switch to that guy.
|
|
|
|
|
And then encase him in concrete.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
|
|
|
|
|
but that might break him.
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum
me, me, me
|
|
|
|
|
The three above comments made my night...thanks
|
|
|
|
|
You guys are very punny.
Just because the code works, it doesn't mean that it is good code.
|
|
|
|
|
Future enhancement perhaps.
|
|
|
|
|
At times, when I have found things like this, I agree my first intent is to go find the person that wrote the code, but then, I sometimes stop and think, who REVIEWED IT and ALLOWED it into the code-base to start with?
The does of course mean that you have a review cycle as part of your policies...
Been to many places that don't, and then, yes, I run through the halls creaming for the head of the the programmer... and then use it as an example as to why they should implement code reviews
|
|
|
|
|
The joke of this is: I know who has wrote this code... my boss...
|
|
|
|
|
RUN!
Run NOW!
But slap them first
|
|
|
|
|
Found due a code review at a big, big customer ... it's production code
if (object = nil) then
begin
object := NIL;
end;
Reallife is only for those people that cannot find friends in internet
|
|
|
|
|
Maybe objects in that language need to be shouted at in order to get the message.
|
|
|
|
|
Perhaps the original programmer was not so sure whether nil = NIL or not...
|
|
|
|
|
Do you hear me nil??
you are nil!!!
always remember it
|
|
|
|