On 05/09/2016 03:29 PM, Paul Smith wrote:
> On Mon, 2016-05-09 at 14:17 -0400, Brad King wrote:
>>> Where does 79 come from?
>>
>> That has been CMake's limit for a long time.  Since we're changing the
>> style anyway we might as well go with the more common 80 chars
> 
> Not to say whether or not this should be changed, but FYI the 79 comes
> from this set of facts:
> 
>  * Traditional terminals are 80 chars wide
>  * Editors and viewers that do line-wrapping use the last character of
>    the line to specify whether there was a wrap, otherwise you can't
>    tell if the line is wrapped or there's a newline.

Thanks, Paul. Good explanation of the historical reason.  I tend to
agree, but I wonder why this has not caused any of the standard
styles clang-format provides (Mozilla, Google, LLVM, etc.) to adopt
79 characters instead of 80.  Maybe it is just that the width limit
is now more about supporting side-by-side diff views or multiple
terminal splits without using the entire monitor width for viewing
a source file with long lines.  It also helps avoid excessive eye
movement horizontally while reading code.  The difference between
79 and 80 characters for these purposes is negligible.

Only a small fraction of lines should end up near this limit so I
do not think readability will change much between 79 and 80 chars.
Therefore I propose that we go back to 79 characters for the above
reasons.  It will also help `git diff` views fit in 80 chars even
with the left `+/-` column.

This brings us to:

 ---
 # This configuration requires clang-format 3.8 or higher.
 BasedOnStyle: Mozilla
 AlignOperands: false
 AlwaysBreakAfterReturnType: None
 AlwaysBreakAfterDefinitionReturnType: None
 ColumnLimit: 79
 Standard: Cpp03
 ...

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to