Scala语言规范介绍了关于Scala语言、语言规范方面知识点,目前在Scala类资源综合评分为:7.9分。
资源介绍
这是我去年在一个Scala项目中结合一些参考资料和项目实践整理的一份编码规范,基于的Scala版本为2.10,但同时也适用于2.11版本。参考资料见文后。整个编码规范分为如下六个部分:
1. 格式与命名
2. 语法特性
3. 编码风格
4. 高效编码
5. 编码模式
6. 测试
格式与命名
1) 代码格式用两个空格缩进。避免每行长度超过100列。在两个方法、类、对象定义之间使用一个空白行。
2) 优先考虑使用val,而非var。
3) 当引入多个包时,使用花括号:
import jxl.write.{WritableCell, Number, Label}
当引入的包超过6个时,应使用通配符_:
import org.scalatest.events._
4)若方法暴露为接口,则返回类型应该显式声明。例如:
def execute(conn: Connection): Boolean = { executeCommand(conn, sqlStatement) match { case Right(result) => result case Left(_) => false } }
xs, ys, as, bs等作为某种Sequence对象的名称;
x, y, z, a, b作为sequence元素的名称。
h作为head的名称,t作为tail的名称。
6)避免对简单的表达式采用花括号;
//suggestion def square(x: Int) = x * x //avoid def square(x: Int) = { x * x }
7) 泛型类型参数的命名虽然没有限制,但建议遵循如下规则:
A 代表一个简单的类型,例如List[A]
B, C, D 用于第2、第3、第4等类型。例如:
class List[A] { def mapB: List[B] = ... }
N 代表数值类型
注意:在Java中,通常以K、V代表Map的key与value,但是在Scala中,更倾向于使用A、B代表Map的key与value。