[在我工作的公司中,我已经看到很多使用前缀来表示变量的范围或起源的信息,例如m
用于类成员,i
用于方法内部变量,以及[C0 ](或a
)以获取方法参数:
p
您对此有何看法?是推荐(还是不推荐)?在第一阶段,我发现它很丑陋,但是我使用它的次数越多,例如在处理大型方法时,它就越方便。
请注意,我不是在说匈牙利表示法,其中前缀表示类型,而不是范围。
[我也曾在有严格前缀要求的商店工作,但过了一会儿,这变成了一种“臭味”,即代码已失去控制,并且全局变量从各处泄漏,表明代码/审查不佳。
Java的“ this”。表示法是在本地引用字段的首选方式。该变量的使用“ m”前缀已被该“ Micro ..”公司作为品牌as头而普及(他们甚至说“不要因为我们这样做而使用”)。
我遵循的一般规则是根据变量的存储名称来命名。变量名称只是一个别名。如果它存储用户名,则userName有效。如果它是用户名列表,则userNames或userNameList有效。但是,我现在避免在变量名中包含“类型”,因为类型经常更改(实际上,用户名的集合不应该是一个集合吗?等等))
归根结底,如果变量名对您记住代码在做什么很有用,那可能是个好主意。可维护性和可读性胜过“感知”的效率和简洁的语法,尤其是因为现代编译器正在根据宏使用模式来重写代码。
我希望这会有所帮助,并且很乐意在此处提供有关任何索赔的更多详细信息。
ps。对于这些类型的问题,我强烈建议使用Java样式元素。我曾经与作者一起工作,在风格方面,他们都是天才!
注意:您的问题是一个非常基于观点的问题(这些天通常在StackOverflow中不赞成使用,但是我仍然认为这是一个值得讨论的话题。