【发布时间】:2010-10-11 23:41:19
【问题描述】:
我正在学习 Groovy 语言,它具有动态类型(以及可选的静态类型)。它还原生支持列表、地图和范围,所以我发现自己经常使用列表和地图,尤其是列表列表、地图列表、列表地图等。
在静态语言(尤其是泛型语言)中,您总是知道自己的类型是什么。我对动态语言相当陌生,要跟踪我的变量应该是什么变得有点困难,所以我想知道其他人是否使用某种变量命名约定来保持这些正确。
例如,假设我有一个日期映射作为键和整数作为值。或整数列表,或包含字符串作为键和帐户对象作为值的映射列表。
似乎在变量名称后面创建一个清晰的约定将帮助我跟踪我正在处理的数据类型结构,而无需查找它。
有什么建议吗?
【问题讨论】:
-
很遗憾没有能力对 cmets 投反对票。这似乎是一个完全可以接受的问题。
-
@David,评论可以标记为“粗鲁”或“非建设性”。
-
虽然使用“def”很常见,但Java程序员可能会感到不舒服,而且使用“def”而不是“String”或“Map”确实没有任何优势,除非可能会被取笑Groovy 程序员更关心“风格”而不是下一个阅读他们的代码的人。如果您想知道您的对象是什么类型,如果可能有疑问,请使用实际类型。这也让 IDE 更有帮助(Ctrl-空格补全效果更好)。然而,随着你的进步,有时你可能会觉得 def 更舒服,所以在它看起来合适的时候使用它。通常泛型也可以。
标签: variables groovy language-agnostic naming-conventions dynamic-typing