[
https://issues.apache.org/jira/browse/GIRAPH-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13405410#comment-13405410
]
Avery Ching commented on GIRAPH-231:
------------------------------------
I think it's reasonable to discuss this and I don't have a strong feeling
regarding the exact choices (well, okay, the 80 character lines is nice to
have). The main thing I care about is that its consistent and most of the
contributors are happy with it. Code uniformity is important to me as it is
confusing to have many different styles. I don't necessarily think that the
checkstyle choices we have made are the "best" ones, but overall they are
helping to keep the code uniform, which I appreciate.
I just don't want to see
{noformat}
for(int i=0;i<0;++i)
{noformat}
in one block and then
{noformat}
for (int i = 0; i < 0; ++i)
{noformat}
in another. This makes the code look messy and confuses contributors (well, at
least me).
> Overly prescriptive check-style requirements considered harmful
> ---------------------------------------------------------------
>
> Key: GIRAPH-231
> URL: https://issues.apache.org/jira/browse/GIRAPH-231
> Project: Giraph
> Issue Type: Bug
> Reporter: Jakob Homan
>
> The current checkstyle settings are extremely precise and an excellent
> codification of particular coding style preference. However, like in
> religion and politics, reasonable and thoughtful people can have
> disagreements and should be accommodating to each other. The current
> checkstyle requirements venture into a lot of territory where disagreements
> and common and often conflict with other styles that are perfectly
> reasonable. Right now one can generate a perfectly reasonable looking patch
> that then takes longer to make checkstyle than it did to create it.
> A few examples:
> * Whether or not a for or if statement has a space before its opening paren
> does not in any way make the code less or more readable or bug free. Either
> preference is valid.
> * Not every method or field requires javadoc. I trust every contributor (or,
> barring that, reviewer) to use their experience and judgment to determine if
> one is needed
> * 80 characters per line is a reasonable arbitrary limit. But so is 85 or
> 90. And 80 seems to cause a lot of lines to be cut off at very odd places
> from a readability standpoint. I trust every contributor (or, barring that,
> reviewer) to determine if the line will cause some huge system failure by
> going to 83 characters. For instance which is worse:
> {noformat}
> String timeUnitString = conf.get(GIRAPH_METRICS_DEFAULT_TIME_PERIOD,
> "SECONDS");
> {noformat}
> or
> {noformat}
> String timeUnitString = conf.get(GIRAPH_METRICS_DEFAULT_TIME_PERIOD,
> "SECONDS");
> {noformat}
> Everybody has a preference on each of the items above, but I don't think
> anyone can reasonably make an argument that another's preference leads to
> more bugs or is objectively bad.
> Overly strict checkstyle settings, which is what I think we've ended up with,
> don't actually end up improving the readability of the code. Instead, they
> add a large amount of friction between contributors. If I spend most of my
> time in using another style that doesn't allow spaces between if and (, I
> find it painful and frustrating to try to contribute to this project.
> Readability is not something that can be guaranteed by any checkstyle
> configuration and instead, we should loosen the requirements and trust our
> contributors and reviewers to keep a good eye out for subtle errors and leave
> checkstyle to police the egregious ones.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira