> On 18 Sep 2017, at 09:37, André Somers <[email protected]> wrote: > > Op 18/09/2017 om 09:02 schreef Lorn Potter: >>> On 15 Sep 2017, at 6:47 pm, Kevin Funk <[email protected]> wrote: >>> >>> (2) And maybe your request: >>> - Use C++11 member initialization where possible >>> (IOW: Run clang-tidy cppcoreguidelines-pro-type-member-init checker >>> on code base and apply all fixes) >> But then files will begin to have a mixture of the two conventions, which is >> not necessarily a good thing. Wide scale changing of this is probably not a >> good idea. > I don't get this. Wouldn't doing this do as much cleanup as is > reasonably possible across the whole code base? How do you end up with a > mixture then?
I’m not sure what Lorn meant, but there are cases where you can’t do the initialization along with the declaration: for example bitfields. Or when the initialization needs to be different in different constructors. So as long as we accept that it will never be 100%, I think it doesn’t hurt to use it where we can. >>> I personally think that (1) would be useful (despite it costing us a lot of >>> code churn when doing the transition) because it's much easier to read >>> `nullptr` than `Q_NULLPTR`, or `override` instead of `Q_DECL_OVERRIDE` in >>> code. Other opinions may vary, but it's definitely more comfortable for >>> newcomers to read familiar C++ keywords than custom macros. >>> >>> I'd be willing to provide the patches for (1) and maybe even (2) if there's >>> a >>> clear sentiment towards the change(s). +1 yes please… I always do (1) in new code and strongly encourage it in code reviews, for a long time already. > It is less error-phrone to initialize at the place of declaration, > instead of in a different file. This gets worse if you have multiple > constructors. So, naturally, we end up with uninitialized member > variables, with all the mahem that may cause. Yep; and the lazy reason to like it is that you don’t have to worry about keeping initialization in the same order as declaration, with all the $#@% warnings if you don’t. (If this pedantry is so important, why can’t it be automated? And now it finally is.) Slight downside: it’s going to make merges harder for a while. I guess we will do such wholesale changes only on dev branch? _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
