[Newbies] indenting code
Benjamin Schroeder
benschroeder at acm.org
Wed Dec 13 14:09:08 UTC 2006
Hi Norbert,
> Hi,
>
> I'm asking myself if there is any common sense about
> how to indent the code in smalltalk/squeak.
>
> Most of the time I see something like
>
> statement do: [ :parameter |
> otherStatement selector: [
> mostinnerstatement ] ].
>
> or
>
> statement do: [ :parameter | otherStatement ].
Kent Beck's "Smalltalk Best Practice Patterns" has a good section on
this. He presents ten simple patterns to drive the formatting of
Smalltalk code.
The book is a bit older now - it dates from 1997 - but might not be
too hard to find. I think our local library system (here in Columbus,
OH) even had a copy.
Beck's Indented Control Flow pattern says,
Put zero or one argument messages on the same lines as their receiver.
For messages with two or more keywords put each keyword/argument
pair on its own line, indented one tab.
So, you would say
limit := myList size.
or
larger := firstCount max: secondCount.
but
inRange := amount
between: low
and: high.
He also has patterns that describe how to format conditionals,
blocks, etc. The rest of the book is good too - it has advice about
other parts of Smalltalk usage.
As others have said, of course the most important thing is to pick a
style that works well and use it consistently. I like Beck's style,
but as you have seen, there are other good ones in use.
Benjamin Schroeder
More information about the Beginners
mailing list