[ https://issues.apache.org/jira/browse/MESOS-1291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14119082#comment-14119082 ]
Michael Park commented on MESOS-1291: ------------------------------------- I'm for moving forward with clang-format-3.5 as the standard. Here's the list of disagreements with Mesos Style Guide: - The braces after namespaces should not be wrapped. - The braces after structs and unions should be wrapped. - Parameters and arguments should be indented by 4 spaces rather than 2. - Overloaded operators should be padded with spaces. (e.g. Foo operator + (...);) - Should not follow Google's style of wrapping on open parentheses, we should try to reduce "jaggedness" in the code. The first 4 discrepancies are fixed in my branch of clang with 3 commits. 2 of which can probably be pushed upstream since they add useful options. One of them is adding a Mesos style BreakBeforeBraces attribute, which probably wouldn't go upstream as smoothly. > Use clang-format to automatically format code to style > ------------------------------------------------------ > > Key: MESOS-1291 > URL: https://issues.apache.org/jira/browse/MESOS-1291 > Project: Mesos > Issue Type: Improvement > Components: technical debt > Reporter: Dominic Hamon > Labels: style > > Instead of relying on a script to check and report style errors, we should > move to a workflow that allows people to write code how they feel comfortable > and then automatically format it to conform to our style guide. > The Chromium style from clang-format > (http://clang.llvm.org/docs/ClangFormat.html) is very close to our style > except for the dropped braces on class, struct, and function definitions, and > two lines of whitespace between method definitions outside a class. As such, > we should consider adopting clang-format and patching it to include a Mesos > style variant. > It can be run as part of post-reviews or as a git commit hook, or manually > from within editors. -- This message was sent by Atlassian JIRA (v6.3.4#6332)