By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,898 Members | 1,162 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,898 IT Pros & Developers. It's quick & easy.

alternatives to making blocks like { } or other ??

P: n/a
Tim Williams writes:
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
Jul 18 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.