你如何命名变量?是否推荐匈牙利命名法?

不,我并不推荐“匈牙利命名法”。我认为“匈牙利命名法”(在变量名中嵌入类型的缩写)是一种对隐式类型语言来说行之有效的技巧,但对支持泛型编程和面向对象编程(这两种编程范型都是基于类型和参数来选择合适的操作)的语言来说,它却是完全不合适的。在这种情况下,“把对象的类型用作名字的一部分”不仅复杂化了抽象,更限制了抽象的程度。在不同程度上,我对各种将语言技术细节信息(例如:作用域、存储类型、语法类别)嵌入(变量)名字的方案都持有保留态度。我同意在某些情况下,将类型提示嵌入变量名会很有帮助,但大多数情况下,特别是随着软件的发展,这会导致维护危机,甚至会严重损害优秀的代码。像躲避瘟疫一般地远离它吧。