Each and every level of nesting must be consistently indented and very often aren't.
If you've written it, you can be reasonably sure that they will be 
This also relates to my distaste for needless curly brackets. When you combine that with indented nesting, you get needless indentations, which just compounds the problem.
There are two styles for this too: same line
Code:
if(condition) statement;
and indented:
Code:
if(condition)
statement;
I prefer the former, which seems to read more logically (as we do indeed say in English, "if condition statement") but there is the problem of longer lines, which the latter solves.
But, often it is at the end of a line of other code that sets the condition or opens the function.
Yes, there are two styles, sometimes called Java-like and C-like, after the languages in which they are/were predominant. Java-like block statements look like:... whereas C-like block statements look like:Personally, I favour the former for sheer brevity. With either style, all one must do to locate a matching brace is look up or down the column until one hits some code.
Mine is tending toward even more 'obscure' code, for example - I now prefer:
Code:
iss[this.issid=iss.length]=this;
to:
Code:
iss[iss.length]=this; this.issid=iss.length-1;
Ah, yes. I must try to keep this tendency in check: I have a habit of cramming as much into one statement as I can, which is all very fine and good, but especially in Python, I find myself compressing
Code:
def containsGreaterThanFive(mylist):
for x in mylist:
if x > 4:
print "yes"
return
print "no"
into
Code:
def containsGreaterThanFive(mylist):
print (len([x for x in mylist if x > 4]) > 0 and "yes" or "no")
There were worse examples (one particular statement took up five lines in my editor) but none I can recall from memory.
Bookmarks