web-dev-qa-db-ja.com

純粋な関数の命名規則

純粋な関数の命名に関する「規約」/ベストプラクティスはありますか?

例えば:

  • 数値の追加addまたはsum
  • 平方根の計算calcSqrtまたはsqrt
  • リストを逆にするreverseまたはreversed
  • リストのソートsortまたはsorted

そのような決定を促すものは何ですか?それは簡潔さの問題ですか?関数本体の入力、出力、および/または内容(式)に依存しますか?

関数名として名詞/形容詞を使用すると、参照の透明性や宣言型プログラミングなどの概念がさらに強化されますか?

2
Willem-Aart

「公式の」規約はありません。
しかし、関数の命名方法に一貫性を持たせることは間違いありません。

名前は、それを呼び出すコンテキストで理解できる必要があります。

適切なアプローチは、使用しているフレームワークまたはプログラミング言語の規則に従うことです。

たとえば、c#LINQ拡張メソッドは純粋な関数であり、その名前は特定のオブジェクトに適用されるアクションを示します。

一方、Ruby(Railish)言語では、メソッド名はどの結果が生成されるかを示します。

すべての言語には、動詞と名詞の両方のアプローチの例があることに注意してください。

すべてのケースに1つの一般的なルールを考え出そうとしないでください。読者が何をしているかを理解するために関数を開くことを強制しないような名前を付けます。

「仕事に適したツール」を使用する

4
Fabio