I completely support this. Let the needless verbosity end! - Seth
> On Apr 27, 2015, at 12:48 PM, Ehsan Akhgari <ehsan.akhg...@gmail.com> wrote: > > Right now, our coding style requires that both the virtual and override > keywords to be specified for overridden virtual functions. A few things > have changed since we decided that a number of years ago: > > 1. The override and final keywords are now available on all of the > compilers that we build with, and we have stopped supporting compilers that > do not support these features. > 2. We have very recently gained the ability to run clang-based mass source > code transformations over our code that would let us enforce the coding > style [1]. > > I would like to propose a change to our coding style, and run a mass > transformation over our code in order to enforce it. I think we should > change it to require the usage of exactly one of these keywords per > *overridden* function: virtual, override, and final. Here are the > advantages: > > * It is a more succinct, as |virtual void foo() override;| doesn't convey > more information than |void foo() override;|. > * It can be easily enforced using clang-tidy across the entire code base. > * It makes it easier to determine what kind of function you are looking at > by just looking at its declaration. |virtual void foo();| means a virtual > function that is not overridden, |void foo() override;| means an overridden > virtual function, and |void foo() final;| means an overridden virtual > function that cannot be further overridden. > * It allows us to be in sync with the Google C++ Style on this issue [2]. > * It will allow us to remove NS_IMETHODIMP, and use NS_IMETHOD instead. > > Please let me know what you think! > > [1] Facilitated by bug 904572. Also see bug 1158776 for my first attempt > at this. > [2] > http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance > > Cheers, > -- > Ehsan > _______________________________________________ > 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