trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2015

Re: [trinity-devel] Codebase formatting discussion

From: "Timothy Pearson" <kb9vqf@...>
Date: Tue, 20 Jan 2015 00:11:41 -0600
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA224

> On Sunday 18 of January 2015 03:58:34 Michele Calgaro wrote:
>> On 01/18/2015 02:24 AM, Slávek Banko wrote:
>> > On Saturday 17 of January 2015 15:59:19 Slávek Banko wrote:
>> >> On Friday 09 of January 2015 23:33:01 Timothy Pearson wrote:
>> >>>>> Also on the docket are how to handle simple variable assignments;
>> >>>>> there are several ways I've seen: a=2; a = 2; a= 2; a =2;
>> >>>>>
>> >>>>> I'm fairly undecided on this.  For consistency with larger
>> statements
>> >>>>> "a = 1;" should probably be used but it seems such a waste of
>> space
>> >>>>> compared with "a=1;".  Thoughts?
>> >>>>
>> >>>> Both "a=1" and "a = 1" are fine for me. For long time I used the
>> first
>> >>>> way, but in the last couple of years I switched ti the second one:
>> >>>> usually more readable for simple expressions but can become
>> confusing
>> >>>> with long and complex ones such as: if ((a = 2) && (++b != (c + (x
>> *
>> >>>> y) / f(q,w,e)))) Choice is up to you and Slavek.
>> >>>
>> >>> I'm going to lean towards forcing spaces for consistency.  What is
>> your
>> >>> opinion Slavek?
>> >>
>> >> Yes, with spaces - in my view certainly readable.
>> >
>> > Wow, now I noticed a great debate about the spaces / no-spaces on
>> > Ehterpad. I prefer to continue the discussion here.
>> >
>> > I would say that there already was a consensus regarding spaces in the
>> > assignments - ie "a = b + c" and already there was a consensus
>> regarding
>> > spaces around operators in conditions such as if, while - ie "if (a ==
>> > b)".
>> >
>> > All was fine until we had a case of 'for'. At its core, it does not
>> > contain anything new - uses the assignment and uses conditions => for
>> > both there already was a consensus. So one would expect that there is
>> no
>> > problem.
>> >
>> > Michele proposed: for (i = 0; i < 1; i = i + 2) { }
>> >
>> > advantage - is fully in line with already agreed practices
>> disadvantage -
>> > are harder to distinguish the individual 'for' expressions
>> >
>> >
>> > Tim proposed: for (i=0; i<1; i=i+2) { }
>> >
>> > advantage - are well distinguishable individual 'for' expressions
>> > disadvantages - difficult to read individual 'for' expressions as such
>> -
>> > is inconsistent with already agreed practices
>> >
>> >
>> > I understand Tim's argument. But that we would either to 'for' give
>> > exemption from other rules - which does not sound too good, or we
>> would
>> > have to change already agreed rules - which is even worse option. I
>> > really would not want to because of the 'for' reduce the readability
>> of
>> > all other conditions and assignments.
>> >
>> > But there is another thing - more complex 'for' where individual parts
>> > can contain more assignments and more conditions - in such cases Tim's
>> > argument will be less important - on the contrary will be greater
>> problem
>> > reduced readability each expressions as such.
>> >
>> >
>> > Therefore I have two proposals:
>> >
>> > 1) As with the 'if' use 'excessive' brackets:
>> >
>> > for ((i = 0); (i < 1); (i = i + 2)) { }
>> >
>> > 2) More complex 'for' break into lines:
>> >
>> > for ((i = iteratorInicialization(arg)); (i != iteratorEnd(arg)); (i =
>> > iteratorNext(arg))) { }
>> >
>> > What do you think about that?
>>
>> The excessive brackets are a possible solution, but on the other hand
>> are a
>> little "too excessive" IMO. What about the following ideas:
>>
>> 1) use two or three spaces to separate for statement expressions, as in:
>>
>> for (i = 0;  i < 1;  i = i + 2) {
>>
>> or
>>
>> for (i = 0;   i < 1;   i = i + 2) {
>>
>> This should be relatively easy to read, maintain all conventions and
>> does
>> not require excessive/superfluous parenthesis.

<snip>

Sorry to be the odd one out here but that is rather difficult for me to
read in addition to consuming a (IMHO) ridiculous amount of horizontal
screen space.  I understand the rationale, but now picture that statement
in a sea of code--the eye will tend to scan right past it making
determination of indent level difficult among other issues.  Also, I have
never seen this style in any other major project; please correct me if I
am wrong. :-)

I still need to go over this thread and respond to the other messages, but
haven't had much time lately.

Tim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iFYEARELAAYFAlS98YkACgkQLaxZSoRZrGFZBADgv/IxNQx4H+2lnu4eOsPD6ww4
XUfF5dy2VnusoADcDTNCSWOxtRJLmauXTBsdsTXvyjDA2qLzUxp4Bg==
=0E2H
-----END PGP SIGNATURE-----