[Squeakfoundation] Harvesting rules (was Re: Harvester status for Marcus Denker)

Doug Way dway at riskmetrics.com
Tue Jun 10 14:31:39 CEST 2003


Well, I would describe my current practice of checking some people's 
code more thoroughly than others as a temporary expediency, not a 
long-term policy. ;-)  I agree that we need some sort of policy.

I guess what we're talking about here is what it means for something to 
be externally reviewed [er].  (Hmm, one confusing thing on 
http://minnow.cc.gatech.edu/squeak/3103 is that the description for [et] 
says that [et] also implies [er] and [cd], which seems incorrect to me.)

Anyway, a good start on getting a policy going might be to create a 
standalone tool which operates on a changeset, which would check for 
things like class comments being in place for newly defined classes.  It 
could also run some subset of SLint tests (whichever rules we agree on), 
so SLint would be a prerequisite of the tool.  (One issue I ran into 
with SLint is that it would be nice if it could just be run on the 
changed code, not the entire method.  That might not be simple to 
implement, I realize.)

Plus the tool could have a few simple checks to make my life as the 
update-stream manager easier, such as making sure the changeset name 
isn't too long, doesn't have funny characters in it, etc.  (Simply 
forcing it to be a changeset is even of some value... for example I'm 
about to incorporate Michael's network rewrite, but that's a SAR file, 
so I have to incorporate the 10 or so changesets/fileins separately, 
some of which could probably be combined, etc.  Not a huge problem but 
still it's a bit of extra work for me.)

Then the idea would be that any submission must pass through the tool 
before it is [approved].  The harvesters could use the tool at first, 
but eventually people submitting things would want to run submissions 
through the tool themselves.

- Doug


Daniel Vainsencher wrote:

>[what is important to review]
>I find myself surprised, not completely unpleasently, at how different
>our tendencies are on this.
>
>I say this is a little good, because it's a more complete picture of
>what we should be doing than any one of us would have. But it's mostly
>bad, because IMO, having each of us checking what we feel like stinks.
>
>A. It sends out a really confused message as to what code should be like
>(you need a class comment, except if dvf is checking it, in which case
>just make sure you're not adding anything to Object! ;-)
>B. It's not a way to improve the quality of the code. Let's face it, if
>three of the harvesters don't have the same standards, why the heck
>should we assume that Ted does have (and if does, who's does he have?
>Mine? Doug's?)
>
>We need a policy. It doesn't have to be complicated, but it needs to
>keep the image clean, systematically, not by chance. We need to balance
>this with keeping things fun, sure, so we'll have to be smart about it,
>but we need to deal with this. If we are warm and fluffy on this one, we
>can stop the cleanup projects right now, because quality will go down,
>not up, no matter how hard they work.
>
>If we agree on this, here are some things I think we could do -
>* Find a good online reference for writing good Smalltalk code, ideally,
>something like Kents "Best Smalltalk practices". 
>* All of us read it, read all code before approving stuff, and point
>people at the manual when said stuff stinks.
>* Require use of SLint. It's easy to install, there's a "SmallLint
>Tutorial" on SM.
>* Maybe make class comments mandatory, and implement some automated
>check for this, so I don't forget it.
>
>What do you think?
>Other ideas?
>
>Daniel
>
>  
>





More information about the Squeakfoundation mailing list