Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[style] Maximum line length #1785

Merged
merged 8 commits into from
Apr 9, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion docs/src/style.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,16 @@ function foo(x)
end
```

#### Line length

#### TODO: Line breaks
Following the Google style guide for [line length](https://github.com/google/styleguide/blob/gh-pages/pyguide.md#32-line-length)
in python, keep lines under an 80 character limit.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a contentious point so we need to give our own motivation and not just defer to the google style guide.
My thinking is that for consistency, we need some guideline on line length. 80 characters is a reasonable pre-existing convention.

Copy link
Member Author

@odow odow Jan 16, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we just make this a recommendation. What about:

Our foremost goal is to maximize code readability. Very long line lengths are hard to read since they either require horizontal scrolling, or are wrapped uncontrollably by a text editor. Thus, where possible, keep line lengths under 80 characters (an arbitrary, but pre-existing convention). We make an exception for lines in which manually breaking the line over multiple lines is worse for readability.

Examples include

  • URLs
  • path names
  • long string constants not containing whitespace

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"wrapped uncontrollably by a text editor" is pretty unconvincing

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, please just make it a recommendation. I don't plan to start enforcing line lengths in any packages I author. though for packages that aren't mine, I will follow the surrounding style.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mlubin it is also "consistent" to not have line limits at all


We make exceptions for
- URLs
- pathnames
- long string constants not containing whitespace that would be inconvenient to
split across multiple lines.

### Syntax

Expand Down