![]() |
1
45
在scala中,在一个文件中包含多个类和对象被认为是很好的形式,只要这些类是紧密相关的。
虽然不是必需的,但方法(在特性、类或对象上声明的命名函数)返回的类型应为非私有方法声明。后面需要空格
在点表示法中,关键字和括号之间应该有空格,但方法名和以下括号之间不应该有空格。对于运算符表示法,对于圆括号或何时使用该表示法,似乎没有一种可接受的样式,但在这种表示法中,非字母数字方法周围应该有空格。
异常情况下,将字符串与
可以是一行程序的声明应该是一行程序,除非嵌套不明显。
不期望参数而不具有副作用的方法,除了括号内的Java方法外,不需要括号使用。带副作用的无参数方法应该与括号一起使用。
包含单个表达式的声明不应包含在大括号内,除非其他语法考虑使其不可能。将表达式括在括号内以启用多行表达式是可以接受的,但我很少看到这种用法。
在理解方面,保持生成器和条件垂直对齐似乎是一种公认的风格。至于
它还接受了垂直对齐类声明参数的样式。 说到缩进,两个空格是公认的惯例。 大括号应该从声明的同一行开始,并单独与该行垂直对齐。
对于过程--返回类型为
但是,有些人认为这种样式容易出错,因为遗漏的等号会改变返回其他类型的函数
标识符以camel大小写(例如:
离开Java约定是常量名称。在scala中,实践是使用标准的camel大小写,从大写字母开始。例如
包名称以小写字母开头。当在导入语句中区分什么是包,什么不是包时,这特别有用。在前面的示例中,
使用下划线字符--
现在,我想不起来其他情况了,但我可以要求澄清具体问题。其中一些规则是明确规定的,另一些则更像是社区共识。我试着省去自己的偏好,但可能失败了。 更重要的是,可能只是没有太多的统一惯例。其中一个原因可能是斯卡拉吸引了许多不同背景的人,如功能语言专家、Java程序员和Web 2爱好者。 |
![]() |
2
12
现在有一个完整的scala风格指南 proposed to the community . 它甚至还不是远程官方的,但它是唯一(据我所知)被社区接受的公约的编纂。 |
![]() |
3
7
现在 Scala Style Guide 是可用的。它不是100%官方的(位于 Community-driven documentation for Scala “site”),但似乎是scala最标准的样式指南。 |
![]() |
4
2
这是一个非常重要的问题。一般来说,scala风格似乎是通过与scala社区的其他成员一起闲逛、阅读scala源代码等来获得的。这对新加入该语言的人没有太大帮助,但它确实表明某种事实上的标准 做 存在(由群众的智慧选择)。我目前正在为scala编写一个完全实现的风格指南,其中记录了社区选择的惯例和最佳实践。但是,A)还没有完成,B)我还不确定是否允许我发表(我是为了工作而写)。 回答第二个问题(排序):一般来说,每一个类/特征/对象都应该得到自己的文件,该文件是根据Java命名约定命名的。但是,在有许多类共享一个共同概念的情况下,有时将它们全部放入同一个文件中是最容易的(短期和长期)。当您这样做时,文件名应该以小写字母(仍然是camelcase)开头,并描述共享概念。 |
![]() |
5
2
我不太喜欢很多Scala编码器使用的典型样式,所以我只是应用了我在C语言、Java或JavaScript中使用的相同的标准。 斯卡拉 可以 表现力很强,但是使用不熟悉的格式会增加你进入的障碍。特别是考虑到内部 DSLs 不可能有“标准”。 所以,我要做任何能让你和你的团队更容易阅读你的代码的事情。 |
![]() |
Wickoo · Scala变量解析:类与局部变量 5 月前 |
![]() |
Jake · 如何回滚臭鼬事务以进行集成测试?(缺少隐式原点) 7 月前 |
![]() |
Readren · 如何定义标量。标量3中元组的ValueOf? 1 年前 |
![]() |
Leif Andersen · “=>”在scala泛型中是什么意思? 1 年前 |