[Newbies] formatting keyword messages
Benjamin Schroeder
benschroeder at acm.org
Sun Nov 2 15:21:01 UTC 2008
On Nov 2, 2008, at 9:27 AM, Mark Volkmann wrote:
> I'm reading "Smalltalk Best Practice Patterns". The pattern
> "Indented Control Flow" recommends putting each keyword on a
> separated line, indented with a tab. I like that for long messages,
> but this one example annoys me.
>
> array
> at: 5
> put: #abc
>
> Earlier the author explains the how conserving vertical space
> increases readability. This example contradicts that advice.
> Also, it just seem so verbose compared to the Java equivalent of
> "array[5] = "abc";".
>
> Do experienced Smalltalkers really like this formatting for short
> messages like at:put: or is the following preferred?
>
> array at:5 put: #abc
I normally use the separate-line version, just because I find it
easier to follow the same formatting nearly everywhere. I remember
someone (Beck?) giving similar reasoning somewhere about using "each"
as a loop variable, or "i" as a loop index - nothing to think about,
and you can recognize what's going on anywhere at a glance.
I do occasionally "break" this rule, though. For example, to:do: comes
to mind - I'll usually write
1 to: 15 do:
[:i |
"..."
"..."]
instead of
1
to: 15
do:
[:i |
"..."
"..."]
Hope this helps,
Ben Schroeder
More information about the Beginners
mailing list