On 1/6/2014, 8:05 PM, Karl Tomlinson wrote:
Gregory Szorc writes:
I think you just gave an example of why our tooling needs to
identify poorly formatted code better. An "if" without a brace
followed by multiple indented lines containing compiler
expressions is a bug at worst or unreadable/unclear code at
best. We could, of course, identify such poor style before any
automated style conversion. In any case, looking at a file
revision from before the automated brace insertion would clearly
reveal the author's [likely] intent. I therefore fail to see your
concern here.
Consider
if (condition1)
if (condition2)
foo();
else
bar();
Automated style conversion would make this
if (condition1) {
if (condition2) {
foo();
} else {
bar();
}
}
No one is likely to look at the file revision before the style
conversion, but someone might look through the trunk revision.
The bug is initially visible but well hidden by the conversion.
The bug is hidden almost as well by conversion of only indentation.
if (condition1)
if (condition2)
foo();
else
bar();
Sure, you could argue that style conversion makes the actual
behaviour clearer, but you'd have to know the intended behaviour
to know there was a bug.
If we have a tool to skip the style change on any such unclear
situations, then perhaps we can proceed more safely.
clang-format does not yet support automatic brace insertion. Once that
support is added, we can protect against these cases.
Cheers,
Ehsan
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform