[
https://issues.apache.org/jira/browse/LUCENE-9564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17209590#comment-17209590
]
Michael Sokolov edited comment on LUCENE-9564 at 10/7/20, 2:35 PM:
-------------------------------------------------------------------
I would quibble with a few of its choices (line width seems a bit less than
ideal, eg), but in general I'm in favor of automatic enforcement of style;
consistency is a big win. Overall, the style is an improvement over our
hodge-podge. I'm happy to live with a few quirky (to me!) choices if the result
is consistency and ease of conforming.
In other projects I have had success with checkstyle; that does have the nice
advantage of being configurable, and I believe automatic formatting can be
accomplished in editors such as IntelliJ, Eclipse and Emacs (albeit with
separate configuration) to match that. Would you consider a checkstyle + editor
config setup? What are the pros of this vs. that?
was (Author: sokolov):
I would quibble with a few of its choices (line width seems a bit less than
ideal, eg), but in general I'm in favor of automatic enforcement of style;
consistency is a big win. Overall, the style is an improvement over our
hidge-podge. I'm happy to live with a few quirky (to me!) choices if the result
is consistency and ease of conforming.
In other projects I have had success with checkstyke; that does have the nice
advantage of being configurable, and I believe automatic formatting can be
accomplished in editors such as IntelliJ, Eclipse and emacs (albeit with
separate configuration) to match that. Would you consider a checkstyle + editor
config setup? What are the pros of this vs. that?
> Format code automatically and enforce it
> ----------------------------------------
>
> Key: LUCENE-9564
> URL: https://issues.apache.org/jira/browse/LUCENE-9564
> Project: Lucene - Core
> Issue Type: Task
> Reporter: Dawid Weiss
> Assignee: Dawid Weiss
> Priority: Trivial
> Time Spent: 10m
> Remaining Estimate: 0h
>
> This is a trivial change but a bold move. And I'm sure it's not for everyone.
> I started using google java format [1] in my projects a while ago and have
> never looked back since. It is an oracle-style formatter (doesn't allow
> customizations or deviations from the defined 'ideal') - this takes some
> getting used to - but it also eliminates *all* the potential differences
> between IDEs, configs, etc. And the formatted code typically looks much
> better than hand-edited one. It is also verifiable on precommit (so you can't
> commit code that deviates from what you'd get from automated formatting
> output).
> The biggest benefit I see is that refactorings become such a joy and keep the
> code neat, everywhere. Before you commit you just reformat everything
> automatically, no matter how much you messed it up.
> This isn't a change for everyone. I myself love hand-edited, neat code... but
> the reality is that with IDE support for automated code changes and so many
> people with different styles working on the same codebase keeping it neat is
> a big pain.
> Checkstyle and other tools are fine for ensuring certain rules but they don't
> take the burden of formatting off your shoulders. This tool does.
> Like I said - I had *great* reservations about using it at the beginning but
> over time got so used to it that I almost can't live without it now. It's
> like magic - you play with the code in any way you like, then run formatting
> and it's nice and neat.
> The downside is that automated formatting does imply potential merge problems
> in backward patches (or any currently existing branches).
> Like I said, it is a bold move. Just throwing this for your consideration.
> -I've added a PR that adds spotless but it's not ready; some files would have
> to be excluded as they currently violate header rules.-
> A more interesting thing is here where the current code is automatically
> reformatted - this branch is for eyeballing only.
> https://github.com/dweiss/lucene-solr/compare/LUCENE-9564...dweiss:LUCENE-9564-example
> [1] https://google.github.io/styleguide/javaguide.html
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]