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