"Eric Dorsey" <dors...@gmail.com> wrote

Working in IDLE on Windows Vista, I have one program that I set to have 2 character spacing (due to the levels of if's and while's going on -- later my brother called this a bit of a code smell, ie. logic shouldn't go that deep, it should be broken out into separate functions instead. Thoughts on that are welcome to, do any of you feel logic should only go so many layers
deep?),

Deeply nested logic tends to be hard to debug and hard to terst thoroughly so yes, this is considered a bad smell. Refactoring the inner parts of a loop into a function is often a good way to deal with this but it may have a performamnce impact if its a critical bit of code so its not a cure all.

Usually its possioble to reduce nesting by using a different logic flow
(De Morgans rules often help here) or by using higher level structures
like list comprehensions instead of loops. In fact functional programming techniques in general can help minimise nesting of code - this is one of
the claimed advantages of functional languages, that they lead to less
deeply nested programs...

I copied some code from the 2 spacing program to another I'm writing
currently which has the default 4, and it got things kind of screwy with
spacing.

This can happen if you don't have the code in functions. Its easy to
copy a function but copying arbitrary lines out of a function is much
more risky.

but I was wondering, if this happened on a much bigger scale, or you were say, pasting code in from some example where they used a different spacing than you, is there a simple/good/smart way to get it all back to the 4
spacing default?

There are many tools around that can do this kind of thing - indent,
tab nanny, untabify, format etc... Pick your own favourite.

--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to