[Development] clang-format

Scott Bloom scott at towel42.com
Fri Jun 22 16:40:58 CEST 2018


Im going to throw out my 2 bits .. Im not an active Qt developer, so take it for what its worth..

Back in the old days (read CVS, pre git, pre svn, pre perforce) we had created the ability to have the "Checked in format" vs the "Developer format"

In a series of wrapper scripts, essentially, everything checked in was converted to the check in format.  However each developer had their own format .  And on checkout, the code would be compare to it.  

On "Diff" analysis of two reversions, you had to see the diff based on the checked in format.

It really made things, that much simpler... and we never heard people bitch and moan about where the curley brackets belong

-----Original Message-----
From: Development <development-bounces+scott=towel42.com at qt-project.org> On Behalf Of Frederik Gladhorn
Sent: Friday, June 22, 2018 00:47
To: development at qt-project.org
Subject: Re: [Development] clang-format

OK, so for now, my take-away from this thread is that we should simply create nice commit-hooks that help everyone along. As a next step we can also enhance the sanity bot with friendly messages.
I ran clang-format a few times over different parts of the code-base and I agree that it sometimes ends up with stuff looking worse. Either use the opt out for those parts or live with it.
Not having to debate the format again and again is a big win in my opinion.

Let's move the _clang-format file from qtrepotools to qt5.git:
https://codereview.qt-project.org/#/c/233051/
https://codereview.qt-project.org/#/c/233050/

Cheers,
Frederik

On mandag 18. juni 2018 11.04.33 CEST Frederik Gladhorn wrote:
> Hi all,
> 
> as part of the closing ceremony of this year's Qt Contributors' Summit 
> we agreed to start using clang-format, to have fewer discussions 
> around coding style and rather focus on the actual code.
> 
> I have not yet thought about all angles, how to best implement this, 
> here are some notes:
> 
> We have a clang-format file in qtrepotools. You can use it today, 
> simply make sure it's in any parent directory of the files you are 
> editing. I'd actually propose simply moving this into the root directory of qt5.git.
> https://code.qt.io/cgit/qt/qtrepotools.git/tree/config/_clang-format
> 
> If you want to clean one file:
> clang-format -i myfile.cpp/h
> 
> To clean a commit (only modifies the working tree):
> git clang-format
> 
> 
> Getting clang-format seems easy enough:
> On macOS: brew install clang-format
> Linux: install clang-format
> Windows: it comes with normal clang
> 
> Then there is the tooling/workflow perspective. Creator and other IDEs 
> have support (you may need to enable the beautifier plugin in about plugins).
> I imagine we add this to the sanity bot ("git clang-format --diff -q" 
> should return empty, otherwise post a message).
> 
> Local hooks are basically the same, any ideas how to best set up the 
> git hooks appreciated :)
> 
> And then there is the big question when we run it once over the entire 
> codebase.
> 
> Cheers,
> Frederik
> 
> 
> 
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development




_______________________________________________
Development mailing list
Development at qt-project.org
http://lists.qt-project.org/mailman/listinfo/development



More information about the Development mailing list