+1

On Sun, Jul 8, 2018 at 10:55 PM Benjamin Bannier <
benjamin.bann...@mesosphere.io> wrote:

> Hi James,
>
> > I’d like to propose that we update our style to require that the
> > “override” keyword always be used when overriding virtual functions
> > (including destructors). The proposed text is below. I’ll also prepare
> > a clang-tidy patch to update stout, libprocess and mesos globally.
>
> +1!
>
> Thanks for bringing this up and offering to do the clean-up. Using
> `override`
> consistently would really give us some certainty as interface methods
> evolve.
>
> * * *
>
> Note that since our style guide _is_ the Google style guide plus some
> additions, we shouldn't need to update anything in our style guide; the
> Google
> style guide seems to have started requiring this from February this year
> and
> our code base just got out of sync.
>
> I believe we should activate the matching warning in our `cpplint` setup,
>
>     --- a/support/mesos-style.py
>     +++ b/support/mesos-style.py
>     @@ -256,6 +256,7 @@ class CppLinter(LinterBase):
>                  'build/endif_comment',
>                  'build/nullptr',
>                  'readability/todo',
>     +            'readability/inheritance',
>                  'readability/namespace',
>                  'runtime/vlog',
>                  'whitespace/blank_line',
>
>
> While e.g., `clang` already emits a diagnostic for hidden `virtual`
> functions
> we might still want to update our `clang-tidy` setup. There is a dedicated
> linter for `override` which me might not need due to the default
> diagnostic,
>
>     --- a/support/clang-tidy
>     +++ b/support/clang-tidy
>     @@ -25,6 +25,7 @@ google-*,\
>      mesos-*,\
>      \
>      misc-use-after-move,\
>     +modernize-use-override,\
>      \
>      readability-redundant-string-cstr\
>      "
>
> but it probably makes a lot of sense to check what other compile-time Mesos
> features can be enabled by default in our `clang-tidy` setup (either in
> Jenkins
> via `CMAKE_ARGS`, or even better globally by default in
> `support/mesos-tidy/entrypoint.sh:31ff`).
>
> I would guess that using `cpplint` to verifying automated fixes made with
> `clang-tidy` could inform what flags should have been added (there are some
> missing features in the cmake build though, e.g., some isolators which
> would
> have benefited from `override` recently).
>
>
> Cheers,
>
> Benjamin
>
>

-- 
Cheers,

Zhitao Li

Reply via email to