3

この例は要点を示すためのものです。

私は行列ライブラリを使用しているとしましょうが、それにはいくらかの力がありません.行列のすべての要素を2倍にすることが私にとって非常に重要であるとしましょう.メソッドを書くことにしましたdoubleIt. ただし、このメソッドの 2 つのバージョンを作成できます。

  1. 可変 --doubleItInPlace
  2. 変更不可 --doubleItByCreatingNewOne

これは少し長いので、変更可能なバージョンの_!接尾辞に追加するか、「mut」という単語を前に付けるという命名規則を考えることができます。

そのような違いを生み出すための確立された命名規則はありますか?

4

1 に答える 1

9

規則では、変更可能な (一般に、副作用のある) バージョンに命令形の動詞を付けて名前を付けます。さらに、さらに重要なこと()として、最後に空のパラメーター リストを使用します。

def double()
def doubleIt()

不変バージョン、つまり新しいオブジェクトを生成するバージョンは、受動態の動詞で名前を付ける必要があります。()さらに重要なことは、最後に空のパラメーター リストを使用しないことです。

def doubled
def doubledMatrix

受動的な形式で副作用のないメソッドに名前を付けることが常に守られているわけではありませんが (たとえば、標準のコレクション ライブラリ)、名前が過度に冗長にならないようにすることをお勧めします。

出典: Scala スタイルガイド.

于 2012-09-16T11:55:35.237 に答える