[clang-tools-extra] [clang-tidy] The first PR our of many PRs for the "Initialized Class Members" check. (PR #65189)

Carlos Galvez via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 8 12:53:40 PDT 2023


carlosgalvezp wrote:

Thanks for the detailed response @adriannistor !

> will soon become a lot of if-then-else blocks.

In general the decision as to which checks to have should be based on Coding Guidelines and user-facing experience - not on implementation complexity. In that sense, as a user I would find confusing to have 2 checks that do nearly the same.

If I understand the discussion correctly, the intention is to create a check that is stricter than the C++ Core Guidelines, is that correct? There is some vagueness in the Guidelines as well. Typically we handle this with Options, allowing users to enable a more strict or lenient version. Would that be an alternative?

Long-term, I believe we should just have 1 single check for "initialize your class members". This can be done in different ways, for example expanding the C++ Core Guidelines one, or replacing it with this new check (which should have relevant configuration options to ensure it behaves according to the spec of the Guidelines). I would be fine with temporarily having 2 checks in parallel as long as there's a plan for merging them eventually.

> If you would prefer that we write the checker until the end and then upstream, we would be very glad to do that, just let me know!

I think it's great that you are splitting the development into smaller pieces so it's easier to do a quality review. Would it however make sense to keep a WIP documentation where one can see the approximate roadmap of this check, i.e what use cases are implemented and which ones will come? 




https://github.com/llvm/llvm-project/pull/65189


More information about the cfe-commits mailing list