alternatives to making blocks like { } or other ??

M

Michael Chermside

Tim said:
I have to put my 2 cents in here. I love Python, but the one thing I
miss is using {} or something to enclose blocks. I edit in emacs
python-mode, and believe in indentation, but sometimes I'll
inadvertently change a line of code's indentation and it throws the
logic off. I found a bug in one of my programs recently where a line
of code should have been outside of an 'if', but wasn't because I hit
TAB one too many times. A {} block would've caught that. I know that's
just being careless, but I need all the help I can get!

I don't mind using C-derived languages occasionally, but one thing that
bothers me is having to use {} or something to enclose blocks. I use
various editors, and I believe in both delimiting and indenting, but
sometimes I'll inadvertently change indentation or move the position of
a brace and either way it throws the logic off. I created a bug in one of
my programs recently just by adding logging. It looked like this:

if (some_complicated_condition)
log_message("Error has occurred: taking corrective action");
take_corrective_action();

When I read through the code it LOOKED like it worked, but of course
the corrective action was taken even when it wasn't needed. I've also
seen more complex examples like this:

if (condition_1) {
code_1;
} else if (condition_2)
if (condition_2_a) {
code_2_a;
}
// nothing to do for 2b
else {
code_3;
}

But the ones that I hate the MOST are the ones that my unit tests can't
catch. A typical example looks like this:

if (condition) {
code;
goes;
here;
} else {
more;
code;
}

Notice how that one line ("here;") is indented wrong? Obviously, that
doesn't meet our coding standards, yet there's no way for the compiler
to catch it, because the compiler looks only at the braces and ignores
the indentation! I know that's just being careless, but I need all the
help I can get! If only there were a better language I could use.

-- Michael Chermside
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top