[PATCH] D86671: [clang-tidy] Add new case type to check variables with Hungarian notation
Nathan James via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 20 09:14:23 PDT 2020
njames93 added a comment.
In D86671#2341838 <https://reviews.llvm.org/D86671#2341838>, @dougpuob wrote:
> Hi @njames93,
>
> It's a smart idea, the rework for it is worth. There is a special case if lowercase name with Hungarian prefix, it possibly makes variable ambiguous, like the `Case1`. How about separating them and `aNy_CasE` with an underscore, like `Case2` ?
>
> // Case1
> bool bRIGHT_LEVEL; // UPPER_CASE
> bool bRightLevel; // CamelCase
> bool bRight_Level; // Camel_Snake_Case
> bool baNy_CasE; // aNy_CasE
> bool bright_level; // lower_case
> bool brightLevel; // camelBack
> bool bright_Level; // camel_Snake_Back
> .....^^^^^^ <-- right? bright?
>
> // Case2
> bool bRIGHT_LEVEL; // UPPER_CASE
> bool bRightLevel; // CamelCase
> bool bRight_Level; // Camel_Snake_Case
> bool b_aNy_CasE; // aNy_CasE
> bool b_right_level; // lower_case
> bool b_rightLevel; // camelBack
> bool b_right_Level; // camel_Snake_Back
> .....^^^^^^^ <-- add an underscore
That still has hidden surprises. Maybe instead of a bool, an enum is used for controlling hungarian prefix (Off|On|...).
Can't think of a good name for the third option but it would do the inserting of '_' (bright_level ->b_right_level) or capitalising the first word of the identifier (brightLevel -> bRightLevel).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86671/new/
https://reviews.llvm.org/D86671
More information about the cfe-commits
mailing list