彼らの言語には、状態を変化させる関数の名前が感嘆符で終わらなければならない慣習があると誰かが言うのを聞いた 私はもっと機能的なコードを書こうとしているのですが、副作用ステータスに従って関数を何とかマークするアイデアが好きです。つまり、なし、内向きの副作用、外向きの副作用(私は正しいfp用語を知らないですが、望む)。
自分の命名スキームを思いつくのは簡単ですが、そのようなスキームや慣習がホームベイクする前にすでに存在しているかどうか疑問に思っていました。
編集:すべての回答に感謝します。それはまさに私が求めていたものであり、それらはすべて本当に有用であることがわかりました。おそらく、古いJavaScriptをリファクタリングしているので、静的に型付けされた言語では、副作用のあるコードとないコードの違いを強制できるかもしれないが、自分で付けた命名規則に頼らなければならないでしょう。
edit2:これを主にオピニオンベースとして閉じるmodについては、私は同意しなければなりません。私は、もしあれば、どのような慣習が一般的に使用されているのかを尋ねていました-これは誰かの定義によると、意見ではなく事実の問題です!
!
(メモリが機能する場合、その演算子なしで変数の状態を変更することは構文的に有効ではありません。 )、そのため、実際にはその言語ではかなり賢明な規則です。
set!
、変数を変更するためのものですが、スタンドアロンの!
演算子はありません。有効な識別子が何であるかについての制限がほとんどないため、Lispには識別子に記号を使用して意味を伝える歴史があるため、この規則が存在します。Lispはマクロとドメイン固有の言語に重点を置いているため、制限はありません。
!
規則を使用しています(例:downcase
とdowncase!
)。ただし、「副作用」よりも「危険」の方が一般的です。