Mathematica組み込み記号は大文字で始まります。したがって、大文字でユーザが作成したシンボル名を開始しないことが慣例として認められています。名前付きパターンの大文字
構文の他の側面にこの制限をどのくらいまで拡張する必要がありますか?グッドプラクティスでは、SetDelayed
またはRuleDelayed
という表現(名前がローカライズされている)の名前付きパターンには大文字を使用しないことを要求していますか?
大文字はネームスペースを有効に拡張し、たとえば小文字のLと1を視覚的に区別すると思います。また、引数はテキストブック形式で名前を付けることができます。
新しいシンボルが将来のバージョンで導入された場合、名前付きのパターンはこれらのシンボルに取って代わり、既存のコードは中断されません。
N
やD
などの既存の名前を使用すると、曖昧さがありますが、使用のコンテキストとFrontEnd構文の強調表示の両方がこれを軽減すると感じています。
+1しかし、あなたの名前が説明力があれば、1のケースLは1と区別しやすいと思います。さらに、名前空間拡張の使用法は注意深く考慮する必要があります。シンボリックmyHomeと別のMyHomeという名前は、c1assica1バグのシチューレシピです。 –
@belisarius私は簡潔なコーディングが好きなので、パターン名のほとんどは1文字ですが、したがって、lとlは非常に似ています。同様に、 'f [A_、a_]:= ...'の中のシンボルを混同することは疑わしいです。グローバルに使用私はあなたに同意し、私はグローバル名をより冗長にしますが、この特定のケースで私は私の練習を変更できるかどうか疑問に思っています。 –
リフレクションでは、 "most"は正確ではありませんが、多くは1文字です。 [この回答](http://stackoverflow.com/questions/5644801/tweaking-style-attributes-of-existing-graphics-objects-in-mathematica/5645482#5645482)を参照してください。そのコードで 'l:Line [__]'を 'L_Line'に変更したいと思います。 –