<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
On 11/04/2009 04:51 PM, Joe Walker wrote:
<blockquote
 cite="mid:5dd474260911041351x8c303f1yaa03313a262d03ab@mail.gmail.com"
 type="cite"><br>
  <br>
  <div class="gmail_quote">On Tue, Oct 27, 2009 at 7:47 PM, DM Smith <span
 dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:dmsmith@crosswire.org">dmsmith@crosswire.org</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div text="#000000" bgcolor="#ffffff">
    <div class="im">On 10/27/2009 02:10 PM, Manfred Bergmann wrote:
    <blockquote type="cite">
      <div>&nbsp;</div>
      <blockquote
 style="border-left: 2px solid rgb(0, 0, 0); padding-left: 5px; padding-right: 0px; margin-left: 5px; margin-right: 0px;">
        <div
 style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">-----
Original
Message ----- </div>
        <div
 style="background: rgb(228, 228, 228) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>From:</b>
        <a moz-do-not-send="true" title="joe@eireneh.com"
 href="mailto:joe@eireneh.com" target="_blank">Joe Walker</a> </div>
        <div
 style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b>
        <a moz-do-not-send="true" title="jsword-devel@crosswire.org"
 href="mailto:jsword-devel@crosswire.org" target="_blank">J-Sword
Developers Mailing
List</a> </div>
        <div
 style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b>
Tuesday, October 27, 2009 5:44 PM</div>
        <div
 style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b>
Re: [jsword-devel] coding conventions</div>
        <div><br>
        </div>
        <br>
        <div class="gmail_quote">On Tue, Oct 27, 2009 at 1:09 PM, DM
Smith <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>&gt;</span>
wrote:<br>
        <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">
          <div><br>
On Oct 27, 2009, at 8:32 AM, Manfred Bergmann wrote:<br>
          <br>
          <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">Hi have a question about conventions.<br>
            <br>
Java coding guideline is to have the brackets not in a new line.<br>
I've seen both in JSword but is it to have new line?<br>
          </blockquote>
          <br>
          </div>
The JSword guideline is to have every { and } on a new line. This
pre-existed my involvement.<br>
        </blockquote>
        <div><br>
It's my fault.<br>
My original thought was that { and } on new lines was more readable and
that the more compact version only made sense when we were restricted
to 80x24. I'm now of the opinion that the above might be true, however
uniformity is more important, so I'd now do that the more standard way.</div>
        <div>&nbsp;</div>
        </div>
        <div class="gmail_quote">
        <div>
        <div><font face="Arial" size="2">I also&nbsp;found the { } in new
lines
better readable in the past.</font></div>
        <div><font face="Arial" size="2">Now however my sight about
this
has changed. Brackets in new line pull too much the attention and
distract too much from the code which actually is the more inportant
thing.</font><br>
        </div>
        </div>
        </div>
      </blockquote>
    </blockquote>
    </div>
I'm up for a change on this one. We just need to settle on a good
convention. (Input wanted!)<br>
    <br>
I've never been a fan of { being on it's own line, except when it
enhanced readability, as in:<br>
if (a &amp;&amp;<br>
&nbsp;&nbsp;&nbsp;&nbsp; b) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; c;<br>
}<br>
Where a &amp;&amp; b is really any compound condition spanning several
lines and c appears to line up with the list of conditions. In this
case I want to have something to set c apart from the conditions.<br>
This could either be the double indentation of the continuing
conditions:<br>
if (a &amp;&amp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b) {<br>
&nbsp;&nbsp;&nbsp; c;<br>
}<br>
Or of { being on the next line:<br>
if (a &amp;&amp;<br>
&nbsp;&nbsp;&nbsp;&nbsp; b)<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp; c;<br>
}<br>
I think the extra indent makes a bit more sense and is easier to
enforce with checkstyle.<br>
    <br>
Also, I think that for the sake of maintenance and adding new
expressions (e.g. debugging) that all single expressions are in a
block. That is, not:<br>
if (condition)<br>
&nbsp;&nbsp; expression;<br>
    <br>
and that there are no one liners:<br>
if (condition) { expression; }<br>
    <br>
I also prefer:<br>
&nbsp;&nbsp;&nbsp; } else {<br>
over:<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; else {<br>
    <br>
Regarding methods, it gets pretty long to have:<br>
scope returnType methodName(parameterList) exceptionList {<br>
&nbsp;&nbsp;&nbsp; code;<br>
}<br>
I think this and class declarations are two places where { should be on
the next line. But I could be persuaded otherwise.<br>
    <br>
If we change, I'd like to do it one package at a time and have
consistency within a package. The Eclipse formatter will make easy work
of it.<br>
    <br>
Input?<br>
    </div>
  </blockquote>
  <div><br>
&nbsp;I agree with all your suggestions, with a few of comments:<br>
  <br>
Are you sure that the output from the Eclipse formatter is what you
want. I've generally steered clear of it because there seemed to be
many cases where it didn't do what I wanted. If it does, then
excellent, perhaps the formatter settings should be exported into the
project somewhere.<br>
  </div>
  </div>
</blockquote>
In the past I steered clear of it too. I really do not like how it
handled long lines. And I don't like how it handles arrays. While I
don't care much for how it formats JavaDoc, it was certainly more
readable.<br>
<br>
What I did was to format each file with it, one at a time and Eclipse
was good enough to indicate what lines it changed in the left near the
line numbers. Right clicking on the change indicator give choices to
revert the line or the block. I then reviewed each file, reverting what
was unfortunate.<br>
<br>
<br>
<blockquote
 cite="mid:5dd474260911041351x8c303f1yaa03313a262d03ab@mail.gmail.com"
 type="cite">
  <div class="gmail_quote">
  <div>Many people have monitors that can either swivel, or be sideways
mounted. I personally greatly prefer to see more lines of code this
way. However the downside is to restrict the horizontal size, so I
generally stick to 80 columns now, and I know that companies like
Google have hard line length limits in their style guidelines for
exactly this reason. However if this doesn't fit with your style,
please ignore.<br>
  </div>
  </div>
</blockquote>
<br>
I, too, don't like to horizontally scroll. I hadn't thought about
swiveling the monitor and with my current one, I can't.<br>
<br>
I think 80 or so makes sense as it is much more readable than 160
(which is what I used when reformatting). The places where the lines
are longer than 80 were mostly due to indentation and/or should have
been split up into multiple statements. I find that deep indentation
makes for code that is hard to understand.<br>
<br>
I need to fix up the checkstyle report to not report on the { brace
placements. Maybe I'll have it report on long lines and clean those up.<br>
<br>
Thanks Joe for your input.<br>
<br>
In Him,<br>
&nbsp;&nbsp;&nbsp; DM<br>
</body>
</html>