首页 > 代码库 > Book learn python the hard way EXERCISE 36 Designing and Debugging

Book learn python the hard way EXERCISE 36 Designing and Debugging

EXERCISE 36

Designing and Debugging

 

Rules for If- Statements

1. Every if- statement must have an else.

2. If this else should never be run because it doesn‘t make sense, then you must use a die

function in the else that prints out an error message and dies, just like we did in the last

exercise. This will find many errors.

3. Never nest if- statements more than two deep and always try to do them one deep.

This means if you put an if in an if, then you should be looking to move that second if

into another function.

4. Treat if- statements like paragraphs, where each if, elif, else grouping is like a

set of sentences. Put blank lines before and after.

5. Your boolean tests should be simple. If they are complex, move their calculations to variables earlier in your function and use a good name for the variable.

 

Rules for Loops

1. Use a while- loop only to loop forever, and that means probably never. This only applies

to Python; other languages are different.

2. Use a for- loop for all other kinds of looping, especially if there is a fi xed or limited

number of things to loop over.

 

Tips for Debugging

1. Do not use a "debugger." A debugger is like doing a full- body scan on a sick person. You

do not get any specific useful information, and you find a whole lot of information that

doesn‘t help and is just confusing.

2. The best way to debug a program is to use print to print out the values of variables at

points in the program to see where they go wrong.

3. Make sure parts of your programs work as you work on them. Do not write massive files

of code before you try to run them. Code a little, run a little, fix a little.

 

One final word of advice: All programmers become paralyzed by irrational fear starting a new

large project. They procrastinate to avoid confronting this fear and end up not getting their program working or even started. I do this. Everyone does this. The best way to avoid this is to make

a list of things you should do and then do them one at a time.

Just start doing it, do a small version, make it bigger, keep a list of things to do, and do them.

 

Example:

from sys import exit

def dead(why):

print why, "Good job!"

exit(0)

 

if next == "left":

bear_room()

elif next == "right":

cthulu_room()

else:

dead("You stumble around the room until you starve.")

Book learn python the hard way EXERCISE 36 Designing and Debugging