How about a "guide for contributors" on the cwiki? Nothing too heavy,

Quick outline:

1. Code
   1.1. Preferred, not mandatory, formatting.
   1.2. About warnings.
   1.3. Use @formatter: (i.e. the default because it is configurable)
   1.4. Minimise whitespace changes
   1.5. Spaces, not tabs

2. About commits, rebase and squashing
   It's about the contribution, and the ASF record, not the minutiae
   of how it got there.

3. About the IP - be clear that contributor is making a contribution.

4. Please open a JIRA

5. Process : What next?



Inspired by Rob, I have also been reformatting code (usually when I was involved in it in the first place) as and when time is right. Eclipse reformatting is not perfect and there are a few places Eclipse makes a mess of it (comments) and places where it simply can't know (good places to break long lists). Currently, it does not always make a good job of lambdas either, not that old code has many; I'm sure this will improve in Eclipse releases.

I find I need to reformat files in pieces, between significant comment blocks and the process is not automatic.

The other thing that reformatting does is make diff'ing old versions useless. (The repacking chhj to oaj made that messy but it is still possible.)

So I'm not in favour of retro-formatting.

1) : yes
2) : I use one liners if appropriate, general only for getters/settings, not elsewhere.

        Andy

On 24/11/15 09:41, Rob Vesse wrote:
Yes to (1) and No to (2)

(2) is only readable for trivial definitions IMO

Personally I've been applying an Eclipse format to all new Jena code I
write and any existing code I substantially rewrite as I go over the past
few years.

Broadly speaking it does the following:

- Spaces instead of Tabs with 4 spaces indentation
- Brace style per (1)
- Max code line width of 120 (max comment line width 80)
- Some specific indentation options to make Javadoc readable inline
- Enables //@formatter:off and //@formatter:on directives for fencing code
blocks you want to keep formatted in a particular way, I tend to use this
for test data that would otherwise be rendered unreadable by reformatting



If we really want to standardize on a format then we should use an Eclipse
format (or other IDE equivalent) so that everybody can automatically apply
the chosen style and have a policy of cleaning up as we go.

I'd be against going through and reformatting everything en-masse just for
the sake of it

Even if we do reformat as we go we would ideally commit the reformats
separately from whatever other changes we make so that the specific
changes can be reviewed in isolation from the reformats (though this is
something of a judgement call depending on how much code is in the file
being reformatted)

Rob

On 23/11/2015 18:05, "A. Soroka" <[email protected]> wrote:

A while ago, I broached the topic of code standards, and there was a
certain amount of agreement on a few general points, none of which were
terribly controversial.

I want to open a similar topic: code formatting. There are a variety of
different forms of code layout in Jena, which is not surprising for a
project of long running and much participation. I’d like to suggest that
Jena normalize its codebase in two very simple and pretty boring ways.
These are just suggestions, of course. If there is agreement on one or
both of them, I would be happy to do the work to format the current
codebase to match, which, being entirely non-functional, shouldn’t
require much review.

1) Braces and control statements and declarations: braces to be used with
control statements only where required, and when used with either control
statements or declarations, to open on the same line, so:

public void foo() {
// do stuff
}

instead of:

public void foo()
{
// do stuff
}

2) Single-statement or empty declarations on one line, so:

protected Foo() { this(false) ; }

and not:

protected Foo() {
    this(false) ;
}

I think introducing that little bit of uniformity would make the code a
little easier to scan and read at almost no cost. Thoughts?
Diasgreements? Rotten tomatoes? {grin}

---
A. Soroka
The University of Virginia Library






Reply via email to