Studies on optimal code width?

前端 未结 11 617
滥情空心
滥情空心 2021-01-29 18:42

If you enable the \"View Right Margin\" in your IDE of choice, it is likely that it will default to 80 characters. I tend to change it to 120 for no reason other than it was th

相关标签:
11条回答
  • 2021-01-29 18:57

    Disregarding hardware restrictions, and any differences in how we read code versus natural language, I see three primary reasons to limit lines to around 80 characters.

    1. Human eyeballs are round, not really narrow and wide, and most of their resolution is in the middle. When reading for hours at a time it is a lot more comfortable to sweep the eyes in short arcs, using one scroll bar as needed. I don't know of a formal study specific to the legibility of code, but from my own observations, with the monitor 2 feet away, with text sized at a 10pt monospaced font, 100 characters takes up about 1/3 of my horizontal field of vision, or around 60 degrees (outside of the 30 degrees or so where all our eyes' resolution is at).
    2. Most people use a large monitor at work so that they can see multiple things without clicking back and forth, not so that they can see one thing really big.
    3. Shorter lines contain less complexity, which hopefully forces a developer to break up make their code into more digestible units.
    0 讨论(0)
  • 2021-01-29 19:00

    Have mercy on the programmers who have to maintain your software later and stick to a limit of 80 characters.

    Reasons to prefer 80:

    • Readable with a larger font on laptops

    • Leaves space for putting two versions side by side for comparison

    • Leaves space for navigation views in the IDE

    • Prints without arbitrarily breaking lines (also applies to email, web pages, ...)

    • Limits the complexity in one line

    • Limits indentation which in turn limits complexity of methods / functions

    Yes, it should be part of the coding standard.

    0 讨论(0)
  • 2021-01-29 19:00

    I distinctly remember reading somewhere (I think it was in Agile Documentation) that for optimal readability a document's width should be about two alphabets, or 60-70 characters. I think the old terminals' line width came in part from that old typographical rule.

    0 讨论(0)
  • 2021-01-29 19:03

    Maybe the 80 characters is also a good point to avoid these bad getter chains:

    object.getFoo().getBar().getFooBar().get ...
    

    if you limit it to 80 characters, maybe someone would localize these variables and do null check etc, but maybe most programmers would let them wrap in the next row. i don't know

    Beside that, 80 characters are great as starblue mentioned. This should defenitely goes into the coding standards.

    0 讨论(0)
  • 2021-01-29 19:04

    I don't have studies, but I will relate my experience.

    I find that horizontal scrolling is tedious when dealing with text. I look at the environment that the code will be used in, and set width standards based on that context.

    For example, when I worked in Emacs on XWindows, it worked well to have 2 Emacs windows side-by-side at all times. That limited them to 80 characters, so that was my max line length.

    At one point I worked in Visual Studio on a 1920x1200 screen. I'd keep it maximized, with all tool windows docked down one side. There was enough space left for two editor windows side-by-side at around 100 characters.

    I also find that the longest lines come from method calls with long parameter lists. This is sometimes a code smell: perhaps the method should be refactored.

    If you & your co-programmers have high-resolution screens and sharp eyesight, by all means use a small font and long lines. Conversely, you may need short lines.

    0 讨论(0)
  • 2021-01-29 19:08

    The right margin option is intended to show you the width of the page if you're going to print the code, and has previous posted said it was set to 80 because that's what the line length historically was before GUI all the way back to punch cards.

    I've seen a recommendation on some blog recently (can't remember what blog) to increase you IDE font size in order to improve code quality, the logic behind it is that if less code fits on screen you'll write shorter lines and shouter functions.

    In my opinion shorter lines make reading the code and debugging it easier, so I try to keep the lines short, if you have to set a limit to make yourself write better code then choose what works for you - also if you are more productive with longer lines feel free to increase the page size and code only on a wide screens.

    0 讨论(0)
提交回复
热议问题