Hi,

just to echo Alexander’s point, for newbies like me being able to delegate 
formatting decisions to tools as much as possible frees up a lot of mental 
resources for tackling the real issues.


Cheers,

Benjamin

ps. Also looking forward to an updated and expanded clang-format config.

 
> On Nov 6, 2015, at 1:44 PM, Alexander Rojas <alexan...@mesosphere.io> wrote:
> 
> I think one of the main reasons we move to having 80 as the limit for both 
> code and comments is the ability it gives us to use tools (e.g. clang-format) 
> to enforce formatting rules, so personally I rather have us putting effort 
> towards that goal. On that note, the developer branch of clang-format allows 
> a much closer formatting options to the ones we use. On OS X it can be 
> installed using `brew install --HEAD clang-format`.
> 
> Right now I’m working on setting the config file to be as close as possible 
> to our style.
> 
>> On 06 Nov 2015, at 10:09, Alex Rukletsov <a...@mesosphere.com> wrote:
>> 
>> I think jaggedness in the example you provide comes mainly from the fact
>> that the second comment has multiple logical blocks. I have formatted both
>> comments at 70 and at 80, here is the outcome: http://pastebin.com/nRQB0nCD
>> 
>> While the first comment indeed looks better when wrapped at 70, I can't say
>> the same about the second one.
>> 
>> I would say, that the longer a line could be, the less jagged the comment
>> block is. The ratio (`averageWordLength` / `maxLineLength`) approaches 0 as
>> `maxLineLenght` approaches infinity, which means wrapping a long word right
>> before the line end should be perceived less jagged : ).
>> 
>> Also, the longer an individual line can be, the less total lines are needed
>> for a comment block, which reduces jaggedness and makes code a little bit
>> more readable.
>> 
>> But my strongest argument is that having a separate soft rule for comments
>> is hard to enforce. I think what we can do is to encourage contributors /
>> committers to wrap comments in the most logical way—like the first comment
>> in the example you provide—even if the line length is not fully utilized.
>> Having said that, I would rather keep a single number: hard limit at 80 for
>> simplicity.
>> 
>> 
>> 
>> On Thu, Nov 5, 2015 at 10:15 PM, Benjamin Mahler <benjamin.mah...@gmail.com>
>> wrote:
>> 
>>> This has come up in a couple of reviews, seems like we should add some soft
>>> guidelines around how to format comments for readability.
>>> 
>>> In particular, the reason that we wrapped at 70 in the past was for
>>> readability, so it would be great to continue doing so as a soft stylistic
>>> rule. The other thing we've been doing for readability is reducing
>>> "jaggedness" (variability in line lengths).
>>> 
>>> It would be great to establish these as soft rules and encourage new
>>> contributors / committers to follow them. Compare these two comments in
>>> Master::updateTask. The first one wraps at 70 and reduces jagedness, the
>>> second wraps at 80 and is more jagged:
>>> 
>>> https://github.com/apache/mesos/blob/0.25.0/src/master/master.cpp#L6057
>>> https://github.com/apache/mesos/blob/0.25.0/src/master/master.cpp#L6072
>>> 
>>> I can provide more examples to help clarify. If no one objects, I'll follow
>>> up with an update to the style guide. Thoughts appreciated!
>>> 
>>> On Thu, Sep 10, 2015 at 8:59 AM, Bernd Mathiske <be...@mesosphere.io>
>>> wrote:
>>> 
>>>> +1
>>>>> On Sep 10, 2015, at 4:21 PM, tommy xiao <xia...@gmail.com> wrote:
>>>>> 
>>>>> +1
>>>>> 
>>>>> 2015-09-10 9:44 GMT+08:00 Marco Massenzio <ma...@mesosphere.io>:
>>>>> 
>>>>>> +1
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Thanks, Michael!
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> —
>>>>>> Sent from my iPhone, which is not as good as you'd hope to fix trypos
>>> n
>>>>>> abbrvtn.
>>>>>> 
>>>>>> On Wed, Sep 9, 2015 at 6:23 PM, Michael Park <mcyp...@gmail.com>
>>> wrote:
>>>>>> 
>>>>>>> I've removed the 70 column restriction on comments from the style
>>>> guide:
>>>>>>> 
>>>>>> 
>>>> 
>>> https://github.com/apache/mesos/commit/f9c2604ea97b91f8a9ec3b2863317761679b1c86
>>>>>>> Also, based on the comments, it seems like we should allow 80 column
>>>>>>> comments but omit the sweeping change.
>>>>>>> Thanks,
>>>>>>> MPark.
>>>>>>> On Wed, Aug 12, 2015 at 6:13 PM Marco Massenzio <ma...@mesosphere.io
>>>> 
>>>>>> wrote:
>>>>>>>> On Wed, Aug 12, 2015 at 4:09 AM, Bernd Mathiske <
>>> be...@mesosphere.io>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Like BenM,
>>>>>>>>> 
>>>>>>>>> +1 on allowing 80 column comments
>>>>>>>>> 
>>>>>>>> +1
>>>>>>>> (it really IS annoying having to keep an eye on the bottom column
>>>>>> counter
>>>>>>>> when typing comments :)
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> -1 on sweeping changes; incremental changes when touching old
>>>> comments
>>>>>>>>> will do IMHO
>>>>>>>>> 
>>>>>>>>> +1 on the -1? :)
>>>>>>>> Incremental changes are good and I doubt anyone will be "confused"
>>> by
>>>>>> them.
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> Bernd
>>>>>>>>> 
>>>>>>>>>> On Aug 12, 2015, at 12:51 AM, Michael Park <mcyp...@gmail.com>
>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Ben, thanks for your input!
>>>>>>>>>> 
>>>>>>>>>> Another update on this topic: the patches around break before
>>> braces
>>>>>>>> for
>>>>>>>>>> *enum* style and overloaded operators have been committed.
>>>>>>>>>> 
>>>>>>>>>> On Tue, Aug 11, 2015 at 6:23 PM Benjamin Mahler <
>>>>>>>>> benjamin.mah...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> We already don't necessarily wrap at 70 characters (often we wrap
>>>>>>>>> before 70
>>>>>>>>>>> to reduce "jaggedness" or to make it look cleaner).
>>>>>>>>>>> 
>>>>>>>>>>> So with the change to 80, this still makes all existing comments
>>>>>>>> valid.
>>>>>>>>> We
>>>>>>>>>>> can still encourage folks to write paragraphs in a way that is
>>>>>> easy to
>>>>>>>>>>> digest for the reader. That is, I think we should still be trying
>>>>>> not
>>>>>>>> to
>>>>>>>>>>> write jagged paragraphs of comments, it's just not a hard
>>> stylistic
>>>>>>>>>>> violation given we don't have an algorithm for this.
>>>>>>>>>>> 
>>>>>>>>>>> So +1 to relaxing the hard 70 character rule, but -1 to sweeping
>>>>>>>> across
>>>>>>>>> all
>>>>>>>>>>> the comments or doing wrapping based only on line length rather
>>>>>> than
>>>>>>>>>>> jaggedness going forward.
>>>>>>>>>>> 
>>>>>>>>>>> On Sat, Aug 8, 2015 at 3:25 PM, Joris Van Remoortere <
>>>>>>>>> jo...@mesosphere.io>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> I will volunteer to update all the comments to wrap at 80 if we
>>>>>> agree
>>>>>>>>> to
>>>>>>>>>>>> keep the code base consistent.
>>>>>>>>>>>> Naturally that is also my vote ;-)
>>>>>>>>>>>> Joris
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Aug 8, 2015, at 1:40 PM, Michael Park <mcyp...@gmail.com>
>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> An update on this topic since we covered it at the community
>>>>>>>> developer
>>>>>>>>>>>> sync.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 1. We will adopt *Mozilla*'s *BreakBeforeBraces* style as their
>>>>>>>> style
>>>>>>>>>>>> is
>>>>>>>>>>>>> equivalent to ours. The only change this entails for our
>>>>>> codebase
>>>>>>>> is
>>>>>>>>>>> to
>>>>>>>>>>>>> consistently wrap the braces for *enum* definitions, as we're
>>>>>>>>>>> currently
>>>>>>>>>>>>> inconsistent. I've taken on the work involved in this change:
>>>>>>>>>>>>>  - stout: https://reviews.apache.org/r/37258
>>>>>>>>>>>>>  - libprocess: https://reviews.apache.org/r/37259
>>>>>>>>>>>>>  - mesos: https://reviews.apache.org/r/37260
>>>>>>>>>>>>>  2. We will drop the rule for adding spaces around overloaded
>>>>>>>>>>>>> operators. We'll simply do a sweep of the codebase to update
>>>>>> all of
>>>>>>>>>>>> them
>>>>>>>>>>>>> consistently. Artem has kindly taken action on this already:
>>>>>>>>>>>>>  - stout: https://reviews.apache.org/r/37018/
>>>>>>>>>>>>>  - libprocess: https://reviews.apache.org/r/37017/
>>>>>>>>>>>>>  - mesos: https://reviews.apache.org/r/37013/
>>>>>>>>>>>>>  3. We will drop the rule for wrapping comments at 70
>>>>>> characters.
>>>>>>>>>>> We
>>>>>>>>>>>>> have a few options to proceed here:
>>>>>>>>>>>>>  - Keep all the existing comments in tact, and simply allow
>>>>>> new
>>>>>>>>>>>>>  comments to wrap at 80, this is less work.
>>>>>>>>>>>>>  - Update all instances of the comments wrapping at 70 to be
>>>>>>>>>>> wrapped
>>>>>>>>>>>>>  at 80, so that we can be consistent.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I proposed that we simply allow new comments to wrap at 80,
>>> but I
>>>>>>>> have
>>>>>>>>>>>>> heard arguments to update the existing comments, so that we can
>>>>>> be
>>>>>>>>>>>>> consistent across the codebase. If you have a
>>> suggestion/opinion
>>>>>> on
>>>>>>>>> how
>>>>>>>>>>>> we
>>>>>>>>>>>>> should proceed with (3), please share!
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> MPark.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Mon, Aug 3, 2015 at 2:01 PM Alexander Rojas <
>>>>>>>>>>> alexan...@mesosphere.io>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I also vote up for that! I rather change our guidelines a
>>> little
>>>>>>>> bit
>>>>>>>>>>>> than
>>>>>>>>>>>>>> waiting for months
>>>>>>>>>>>>>> to get our changes into the clang-format source without any
>>>>>>>> security
>>>>>>>>>>>> that
>>>>>>>>>>>>>> it will actually land.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On 31 Jul 2015, at 09:31, Alex Rukletsov <
>>> a...@mesosphere.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I think automation is very important. If we should slightly
>>>>>> change
>>>>>>>>>>> our
>>>>>>>>>>>>>>> style in order to set-up easily enforceable rules, I vote
>>> with
>>>>>>>> both
>>>>>>>>>>>> hands
>>>>>>>>>>>>>>> for that.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> On Fri, Jul 31, 2015 at 3:25 AM, Michael Park <
>>>>>> mcyp...@gmail.com
>>>>>>>>> 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Oops, sorry I was so excited that this could just solve the
>>>>>> issue
>>>>>>>>>>>> that I
>>>>>>>>>>>>>>>> forgot to answer your question.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> In general, the clang-format strives to adopt widely used
>>>>>> styles,
>>>>>>>>>>>> which
>>>>>>>>>>>>>> I'm
>>>>>>>>>>>>>>>> not sure if we would be considered widely used. Aside from
>>>>>> that,
>>>>>>>>>>>> another
>>>>>>>>>>>>>>>> concern was that it could take a while for our style
>>>>>> proposals to
>>>>>>>>>>> make
>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>> upstream and for it to be useful.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> On Thu, Jul 30, 2015, 6:12 PM Michael Park <
>>>>>> mcyp...@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Is it worth adding our own style?
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> I noticed other have (LLVM, Google, Chromium, Mozilla,
>>>>>> WebKit.).
>>>>>>>>>>> How
>>>>>>>>>>>>>>>>>> hard is it?
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> I was just looking into this again and *Mozilla* was added
>>> as
>>>>>>>> the
>>>>>>>>>>>>>> newest
>>>>>>>>>>>>>>>>> *BreakBeforeBraces* style. It breaks before braces on enum,
>>>>>>>>>>> function,
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>> record definitions (struct, class, union). I think we can
>>>>>>>> actually
>>>>>>>>>>>> use
>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>> one and be done with it. Having looked through the
>>> codebase,
>>>>>> we
>>>>>>>>>>> wrap
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>> braces for *enum* for about half of the cases. It would be
>>>>>> about
>>>>>>>>> 35
>>>>>>>>>>>>>>>>> instances that we have to fix from what I can see in our
>>>>>>>> codebase.
>>>>>>>>>>>> What
>>>>>>>>>>>>>>>> do
>>>>>>>>>>>>>>>>> you think?
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> On Thu, Jul 30, 2015 at 5:14 PM Benjamin Mahler <
>>>>>>>>>>>>>>>> benjamin.mah...@gmail.com>
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Is it worth adding our own style?
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> I noticed other have (LLVM, Google, Chromium, Mozilla,
>>>>>>>> WebKit.).
>>>>>>>>>>> How
>>>>>>>>>>>>>>>> hard
>>>>>>>>>>>>>>>>>> is it?
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> On Thu, Jul 30, 2015 at 4:23 PM, Michael Park <
>>>>>>>> mcyp...@gmail.com
>>>>>>>>>> 
>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> There are a few syntactical Mesos style guidelines that I
>>>>>>>> would
>>>>>>>>>>>> like
>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>> propose to drop. They are:
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 1. Open braces for namespace should not be wrapped.
>>>>>>>>>>>>>>>>>>> *NOTE*: The Google style guide does not wrap the brace
>>>>>> after
>>>>>>>>>>>>>>>>>>> *namespace*,
>>>>>>>>>>>>>>>>>>> and the Mesos style guide does not mention a rule at all.
>>>>>> But
>>>>>>>> it
>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>> consistent throughout the codebase.
>>>>>>>>>>>>>>>>>>> 2. Overloaded operators should be padded with spaces.
>>>>>>>>>>>>>>>>>>> 3. Comments should be wrapped at 70 characters.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> The main motivation is that as a community we would like
>>> to
>>>>>>>>>>> reduce
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>> discrepancy between what *clang-format* produces. This
>>> is a
>>>>>>>> dual
>>>>>>>>>>>>>>>>>> effort, as
>>>>>>>>>>>>>>>>>>> we work on improving *clang-format* to support some of
>>> our
>>>>>>>> style
>>>>>>>>>>>>>> which
>>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>> popular in the C++ community as well. Wrapping the
>>> function
>>>>>>>>>>>> arguments
>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>> avoid "jaggedness" for example is a feature request which
>>>>>> is
>>>>>>>>>>> being
>>>>>>>>>>>>>>>>>> tracked
>>>>>>>>>>>>>>>>>>> at: https://llvm.org/bugs/show_bug.cgi?id=23422
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Going forward, the proposal is to update all of the
>>>>>> instances
>>>>>>>> of
>>>>>>>>>>>> (1)
>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>> (2) at once. For (3), we can simply relax the constraint
>>>>>> from
>>>>>>>> 70
>>>>>>>>>>> to
>>>>>>>>>>>>>> 80
>>>>>>>>>>>>>>>>>>> without touching the existing comments.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Does anyone have any strong opinions about dropping any
>>> of
>>>>>>>> the 3
>>>>>>>>>>>>>> rules
>>>>>>>>>>>>>>>>>>> above?
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> MPark.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Deshi Xiao
>>>>> Twitter: xds2000
>>>>> E-mail: xiaods(AT)gmail.com
>>>> 
>>>> 
>>> 
> 

Reply via email to