Hi everyone!
I wanted to raise a question about code style for the project. I've been
receiving some feedback on PRs about the need to:
- Have curly braces start on a new line
- Remove curly braces if the condition or loop has only one expression
Taking a look at the official Code Style stated in the web, I read that:
"{ and } are placed on a new line except when empty or opening a multi-line
lambda expression. Braces may be elided to a depth of one if the condition or
loop guards a single expression."
Which addresses the first type of comments I mentioned (curly braces starting
in a new line), but leaves open the second type of comments (remove not needed
curly braces).
But, when looking at the checkstyle.xml, I don't see any rule enforcing any of
those two types of comments.
I believe checkstyle.xml should be our contract, so I'm proposing here:
For "curly braces starting in a new line" rule, add something like what we
already have on Sidecar and Analytics projects:
<module name="LeftCurly">
<!-- Checks for placement of the left curly brace ('{'). -->
<property name="option" value="nl"/>
...
</module>
That way, we can fail fast and not worry about those comments on PRs. This of
course may be painful, as we probably will have to fix a bunch of wrongly
placed brackets all over the place.
If there are no concerns here, I'll be more than happy to bite the bullet and
add a patch for this.
For "remove not needed curly braces", I understand that it tends to be the
preference on the code, so we either modify the documentation and add a rule
for that on the checkstyle.xml, or we are fine with that style and there is no
need to remove them on patches.
I wanted to hear the thoughts on the community for this one. My preference is
to always use brackets, but that's just a preference, so it's perfectly fine
not to enforce it and leave the documentation as is.
Thanks everyone!
Bernardo