这个例子只是为了说明这一点。
假设我使用矩阵库,但缺乏一些力量,让我们说矩阵中的每个元素加倍对我来说至关重要,我决定编写一个方法doubleIt
。但是,我可以写这个方法的两个版本
doubleItInPlace
doubleItByCreatingNewOne
这有点冗长,因此可以考虑命名约定,添加可变版本_!
后缀,或者在其前面添加单词“mut”。
是否有任何建立的命名约定来实现这种差异?
答案 0 :(得分:9)
惯例是用命令形式的动词命名可变(通常是副作用)版本。此外,更重要的是,最后使用空参数列表()
:
def double()
def doubleIt()
不可变版本,即产生新对象的版本,您应该通过被动形式的动词来命名。更重要的是,不要在最后使用空参数列表()
:
def doubled
def doubledMatrix
请注意,并非总是以被动形式命名非副作用方法(例如标准集合库),但除非它使名称过于冗长,否则这是一个好主意。
来源:Scala styleguide。