I agree with most of them, but I like to use 'break' if it avoids using a huge 'if' or an "are we finished yet?" kind of variable. Also static functions are good, especially if you have a MVC approach and you have a lot of controllers which work on two or more objects.