class Foo {
[tab]function doCoolStuff {
[tab][tab]print("I am great!\n".
[tab][tab] "Are you great, too?");
[tab][tab][tab][tab]$a = "Aye";
[tab][tab]$junk = "Junk";
[tab]}
}
Note that:
Tabs are used to indent entire blocks, not for visual alignment.
Tabs are never used except as the first characters on a line!
Spaces are used to line things up visually that have the same
block indentation (e.g. the quotes and the equalses in the above
example).
If you set your editor's tab-width to an uncommon value like 3, 5, or 7, it will
help you spot places where this convention was not followed.
Josh would argue with me about the middle line, but you can still
use this convention for non-blank lines. I would indent blank lines
so that the block structure always matches the indentation
because I think that whether a line is part of a block is more important
than whether it happens to be otherwise blank.