On 04/11/2016 09:01 PM, Milan Sreckovic wrote:
Maybe there was a reason we didn’t have this in the style guide as a single
choice.
My guess is that, even though there has been the Mozilla coding style forever,
we haven't traditionally been too strict about following it, so no one cared
too much.
But since we're now trying to be more consistent, it does make sense to have
some rule for this case too.
That is needed also in case we want to use some automatic tool to reformat
larger parts of the code to follow the rules.
-Olli
—
- Milan
On Apr 11, 2016, at 11:00 , Kartikaya Gupta <kgu...@mozilla.com> wrote:
Based on all the feedback so far I think the best compromise is to use
enum classes with the "e" prefix on the values. As was mentioned, the
"e" prefix is useful to distinguish between enum values and function
pointer passing at call sites, but is a small enough prefix that it
shouldn't be too much of a burden.
I realize not everybody is going to be happy with this but I don't
want this discussion to drag on to the point where it's a net loss of
productivity no matter what we end up doing. I'll update the style
guide.
Thanks all!
kats
On Sun, Apr 10, 2016 at 11:43 AM, smaug <sm...@welho.com> wrote:
On 04/10/2016 05:50 PM, Aryeh Gregor wrote:
On Fri, Apr 8, 2016 at 8:35 PM, smaug <sm...@welho.com> wrote:
enum classes are great, but I'd still use prefix for the values.
Otherwise the values look like types - nested classes or such.
(Keeping my reviewer's hat on, so thinking about readability here.)
In some cases I think it's extremely clear, like this:
enum class Change { minus, plus };
whose sole use is as a function parameter (to avoid a boolean
parameter), like so:
ChangeIndentation(*curNode->AsElement(), Change::plus);
In cases where it might be mistaken for a class, it might make more
sense to prefix the enum class name with "E". I don't think this
should be required as a general policy, though, because for some enums
it might be clear enough without it.
Indeed in your case it is totally unclear whether one is passing a function
pointer or enum value as param.
If the value was prefixed with e, it would be clear.
Consistency helps with reviewing (and in general code readability) a lot, so
the less we have optional coding style rules, or
context dependent rules, the better.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform