4 ms·
50-75 characters is the optimal line width for the human eye to scan: http://baymard.com/blog/line-length-readability http://baymard.com/blog/line-length-reada
by patrickmay 10y ago
50-75 characters is the optimal line width for the human eye to scan: http://baymard.com/blog/line-length-readability http://baymard.com/blog/line-length-readability
- falcolas 10y agoI think the biggest problem with translating this into code widths is that we use indentation liberally. Seeing 6-12 characters taken up by whitespace is nowhere near uncommon. So, given that, perhaps 80 characters isn't so tyrannical...
- vertex-four 10y agoI've seen code where 20-odd characters were taken up by whitespace. Of course, at that point, you really want to split it out into different, named functions... code like that is unreadable for entirely different reasons than line lenth. Similar things the case for almost every single case where a line might become "too long" - I don't think the length is actually the issue so much as the complexity.
- andrey_utkin 10y agobut "20-odd" (let it be 24) is just 3 * 8, which is something like this. I don't see how this is already screwed up for complexity. class A { A::a() { if (expr) { do1(); } else { do2(); } } }
- zokier 10y agoI think most people have converged to 4 space tabstops, so 24 spaces means 6 levels of indentation.
- sixothree 10y agoNamespace, class, method, loop, conditional brings us to 20.
- vertex-four 10y agoI don't actually know of any project which uses 6 or 8 characters per indentation level.
- andrey_utkin 10y ago8 chars is default tab size. So e.g. "git diff" shows you 8-position tabs. Github (and Bitbucket, etc.) diff visualizer also shows it as 8 positions. Any editor should use 8 by default, too. And, believe me or not my space-loving friends, tab-indented codebases still exist.
- vertex-four 10y agoMy editor definitely puts tabstops at 4. Weird.
- khedoros 10y agoMy first change to any editor is to set tabstops at 4 characters. That's the standard policy at my employer, and I like it for my own projects, as well.
- OneOneOneOne 10y agoFor code it also seems most of the text reside on the left. Opening an extra wide window to display text for the occasional long line seems a waste of screen space.
- mnw21cam 10y agoIndeed. The rule for prose is that a text block width should be somewhere between 2.5 and 3.5 full alphabets. This takes into account the variable spacing of different characters. This is to strike a balance between having inconsistent space or too much hyphenation (if the line is too short) and the eye's ability to find the next line when scanning leftwards from the end of the previous line (which is difficult if the line is too long). Code is different in several ways. Firstly, code is generally shown in monospace typeface. Secondly, breaking lines too early can be even worse for code than for prose. Thirdly, even with a long line limit, code will generally have lots of short lines anyway, and this helps the eye find the next line when reading. The long lines (as long as they aren't all long) stick out from the rest of the code text, making it easier to read.
- tamana 10y agoThat's why your editor has soft line break capability.
- LionessLover 10y agoFirst, we are not reading text but code. Second, we code very differently then we used to - several layers of indentation are common now but were not when the limit was seen as reasonable.
- jahewson 10y agoIt's nice that some typographers think this but the claim doesn't seem to be backed up by any evidence.