gpt4 book ai didi

scala - Scala中的方法命名约定——可变而不是版本?

转载 作者:行者123 更新时间:2023-12-04 17:52:34 24 4
gpt4 key购买 nike

这个例子只是为了说明问题。

假设我使用矩阵库,但缺乏一些功能,假设将矩阵中的每个元素加倍对我来说非常重要,我决定编写一个方法 doubleIt。但是,我可以编写此方法的 2 个版本

  1. 可变 -- doubleItInPlace
  2. 不可变 -- doubleItByCreatingNewOne

这有点长,所以可以考虑命名约定,在可变版本中添加 _! 后缀,或者在其前面加上单词“mut”。

是否有任何确定的命名约定来产生这种差异?

最佳答案

约定是用命令式形式的动词命名可变(通常是副作用)版本。此外,更重要的是,在末尾使用空参数列表 ():

def double()
def doubleIt()

不可变版本,即产生一个新对象的版本,您应该以被动形式通过动词命名。更重要的是,不要在末尾使用空参数列表():

def doubled
def doubledMatrix

请注意,不总是以被动形式命名无副作用的方法(例如标准集合库),但这是一个好主意,除非它使名称过于冗长。

来源:Scala styleguide .

关于scala - Scala中的方法命名约定——可变而不是版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12446431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com