logo       

Re: indenting code: msg#00078

Subject: Re: indenting code
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


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
linux.arklinux....    user-groups.lin...    kde.usability/2...    ietf.ipp/2002-0...    mail.spam.spamc...    os.netbsd.devel...    audio.cd-record...    text.unicode.de...    php.documentati...    games.fps.halfl...    window-managers...    suse.oracle.gen...    bug-tracking.gn...    video.dvdrip.us...    xfree86.cvs/200...    java.netbeans.m...    network.argus/2...    culture.sf.kill...    debian.ports.al...    freebsd.questio...    qplus.devel/200...    handhelds.palm....   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe