2021-03-19 18:41:20

by Christian Marangi

[permalink] [raw]
Subject: [PATCH] clang-format: Update ColumnLimit

Update ColumnLimit value, changed from 80 to 100.

Signed-off-by: Ansuel Smith <[email protected]>
---
.clang-format | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.clang-format b/.clang-format
index c24b147cac01..3212542df113 100644
--- a/.clang-format
+++ b/.clang-format
@@ -52,7 +52,7 @@ BreakConstructorInitializersBeforeComma: false
#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: false
-ColumnLimit: 80
+ColumnLimit: 100
CommentPragmas: '^ IWYU pragma:'
#CompactNamespaces: false # Unknown to clang-format-4.0
ConstructorInitializerAllOnOneLineOrOnePerLine: false
--
2.30.2


2021-03-19 18:47:10

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] clang-format: Update ColumnLimit

On Fri, Mar 19, 2021 at 07:37:14PM +0100, Ansuel Smith wrote:
> Update ColumnLimit value, changed from 80 to 100.
>
> Signed-off-by: Ansuel Smith <[email protected]>
> ---
> .clang-format | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.clang-format b/.clang-format
> index c24b147cac01..3212542df113 100644
> --- a/.clang-format
> +++ b/.clang-format
> @@ -52,7 +52,7 @@ BreakConstructorInitializersBeforeComma: false
> #BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0
> BreakAfterJavaFieldAnnotations: false
> BreakStringLiterals: false
> -ColumnLimit: 80
> +ColumnLimit: 100
> CommentPragmas: '^ IWYU pragma:'
> #CompactNamespaces: false # Unknown to clang-format-4.0
> ConstructorInitializerAllOnOneLineOrOnePerLine: false
> --
> 2.30.2
>

Not sure how opinions have changed since but this has come up before:

https://lore.kernel.org/r/[email protected]/

Cheers,
Nathan

2021-03-19 18:49:31

by Christian Marangi

[permalink] [raw]
Subject: Re: [PATCH] clang-format: Update ColumnLimit

On Fri, Mar 19, 2021 at 11:42:34AM -0700, Nathan Chancellor wrote:
> On Fri, Mar 19, 2021 at 07:37:14PM +0100, Ansuel Smith wrote:
> > Update ColumnLimit value, changed from 80 to 100.
> >
> > Signed-off-by: Ansuel Smith <[email protected]>
> > ---
> > .clang-format | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/.clang-format b/.clang-format
> > index c24b147cac01..3212542df113 100644
> > --- a/.clang-format
> > +++ b/.clang-format
> > @@ -52,7 +52,7 @@ BreakConstructorInitializersBeforeComma: false
> > #BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0
> > BreakAfterJavaFieldAnnotations: false
> > BreakStringLiterals: false
> > -ColumnLimit: 80
> > +ColumnLimit: 100
> > CommentPragmas: '^ IWYU pragma:'
> > #CompactNamespaces: false # Unknown to clang-format-4.0
> > ConstructorInitializerAllOnOneLineOrOnePerLine: false
> > --
> > 2.30.2
> >
>
> Not sure how opinions have changed since but this has come up before:
>
> https://lore.kernel.org/r/[email protected]/
>

Sorry, didn't notice that. Considering that checkpatch complains and
some reviewers actually state that 100 is the new limit, I think it's
time to update the file.

> Cheers,
> Nathan

2021-03-19 18:50:42

by Miguel Ojeda

[permalink] [raw]
Subject: Re: [PATCH] clang-format: Update ColumnLimit

On Fri, Mar 19, 2021 at 7:45 PM Ansuel Smith <[email protected]> wrote:
>
> Sorry, didn't notice that. Considering that checkpatch complains and
> some reviewers actually state that 100 is the new limit, I think it's
> time to update the file.

IIUC, 80 is still the soft limit, but 100 is now the hard limit.

Cc'ing Joe.

Cheers,
Miguel

2021-03-20 05:30:45

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] clang-format: Update ColumnLimit

On Fri, 2021-03-19 at 19:48 +0100, Miguel Ojeda wrote:
> On Fri, Mar 19, 2021 at 7:45 PM Ansuel Smith <[email protected]> wrote:
> >
> > Sorry, didn't notice that. Considering that checkpatch complains and
> > some reviewers actually state that 100 is the new limit, I think it's
> > time to update the file.
>
> IIUC, 80 is still the soft limit, but 100 is now the hard limit.

80 columns is still the strongly preferred limit.

From coding-style.rst:
-------------------------------
The preferred limit on the length of a single line is 80 columns.

Statements longer than 80 columns should be broken into sensible chunks,
unless exceeding 80 columns significantly increases readability and does
not hide information.
-------------------------------

IMO: clang-format is mechanical and, like checkpatch, doesn't have much
'taste'.

Ideally, 100 columns would only be used when long length identifiers
exist with some mechanism that determines statement complexity.

Today it's fairly easy to go beyond 80 columns even if a statement
is similar to
a = b + c;
when identifier lengths are relatively long.

There are many existing 25+ character length identifiers, so the trivial
statement above if used with all identifiers of 25 characters or more
exceeds 80 columns.

So for some things, clang-format (and checkpatch) should allow > 80 column
lines for trivial statements like the above.

It's not a trivial implementation problem though.