At Intersec, we aim at maintaining a consistent style throughout all the
code, depending on the programming language. For example, the C codebase is
the most consistent, with
our coding rules being enforced on code review. This enforcement, however,
can lead to significant time loss and frustrations when patches must be
repushed to be adapted to specific rules.
In the past, there has been several attempts at configuring auto-formatting
tools. They were never fully satisfactory because several of our coding rules
did not fit into the limited configuration options of these tools. This
subject was born out of these attempts. However, instead of focusing on
adapting the tools to our coding rules, we considered doing the opposite.
What about adapting our coding rules (in particular, some of those peculiar
rules) so that auto-formatting tools could be applied easily? After
all, if some of our rules are too specific to exist in popular tools, maybe
those rules cause more harm than improvement to our code.
Read more →