declaration of variables?
Mark Charsley
mark.charsley at REMOVE_THIS.radioscape.com
Wed Feb 19 06:51:00 EST 2003
In article <b2r14h02bfp at enews1.newsguy.com>, aleaxit at yahoo.com (Alex
Martelli) wrote:
> Rather, consider a hypothetical language where I have to declare ALL
> variables AND constants I'll be using later on:
>
> variables x, y, z, y
> constants 23, 34, 45, 56
> ...
> x = 23
According to _all_ coding standards I've ever seen, that's exactly what
one should do. Instead of littering ones code with magic numbers, one
should create manifest constants in one (and only one) location, and then
use the constants in one's code.
What is that 23? What happens if the errorcode/structure-size/
flag-combination/colour-code/whatever changes? How do you know if you've
corrected it in all the right places, and not changed a 23 somewhere else
in the code that signifies something different. and most importantly, how
is a reader of the code meant to know why you've chosen 23 (and the
comment I once saw "used -1 and 7 because they work better than 1 and 9"
is not a good enough answer).
Having once had to debug a curses based system which consisted of hundreds
of lines of about half of which were along the lines of
val = GetField(35);
or
SetField(18, val);
I'm firmly of the opinion that the only magic numbers that should appear
in one's code are 0, and, at a push, 1.
Mark
More information about the Python-list
mailing list