最近我阅读了很多其他人的Scala代码,其中一个让我感到困难(来自Java)的事情是缺乏显式类型注释。
在编写代码时能够省略类型注释当然很方便 - 但是在阅读代码时,我经常发现显式类型注释能够帮助我更轻松地一眼了解代码正在做什么。
Scala风格指南(http://docs.scala-lang.org/style/types.html)似乎没有提供任何明确的指导,声明:
使用类型推断,但首先要清晰,并且在公共API中优先考虑明确性。
在我的看法中,这有点矛盾。虽然这个变量的类型显然很明显:
如果我把清晰度放在第一位的话,我可能会在同一行上注释所有未声明类型的变量。
Scala的从业者有没有关于此的指导?我考虑给我的本地变量添加类型注释是否疯了?我特别想听听那些花费大量时间阅读Scala代码(例如在代码审查中)以及编写代码的人的意见。
在编写代码时能够省略类型注释当然很方便 - 但是在阅读代码时,我经常发现显式类型注释能够帮助我更轻松地一眼了解代码正在做什么。
Scala风格指南(http://docs.scala-lang.org/style/types.html)似乎没有提供任何明确的指导,声明:
使用类型推断,但首先要清晰,并且在公共API中优先考虑明确性。
在我的看法中,这有点矛盾。虽然这个变量的类型显然很明显:
val tokens = new HashMap[String, Int]
这个类型不是那么明显:
val tokens = readTokens()
如果我把清晰度放在第一位的话,我可能会在同一行上注释所有未声明类型的变量。
Scala的从业者有没有关于此的指导?我考虑给我的本地变量添加类型注释是否疯了?我特别想听听那些花费大量时间阅读Scala代码(例如在代码审查中)以及编写代码的人的意见。