7

Mathematicaの組み込みシンボルでは、大文字で始まります。したがって、ユーザーが作成したシンボル名を大文字で始めないことは、慣行として認められています。

この制限は、構文の他の側面にどこまで拡張する必要がありますか? SetDelayedorRuleDelayed式 (そのような名前がローカライズされている場合)の名前付きパターンに大文字を使用しないことを適切な方法で要求していますか?

大文字は便利な方法で名前空間を拡張し、たとえば小文字の L と 1 を視覚的に区別すると思います。また、教科書のように引数に名前を付けることができます。

将来のバージョンで新しいシンボルが導入された場合、名前付きパターンがこれらに取って代わり、既存のコードが壊れないようにする必要があります。

Nやなどの既存の名前Dが使用されている場合、コンはあいまいですが、使用のコンテキストとフロントエンドの構文の強調表示の両方がこれを軽減していると感じています。

4

1 に答える 1

2

これは私が受け入れない慣習です。

個人用またはサードパーティ用のパッケージについて言及しています。一般に、完成した作品は、理想的な (WRI) 品質、ルック アンド フィールとできるだけ区別がつかないようにしたいと考えています。これには、WRI で使用されるすべての大文字化規則を含む、私のコマンドの長い説明的な名前が含まれます。

もちろん、私のパッケージは - 現時点では - WRI の品質にはほど遠いですが、少なくとも標準の MMA 機能とできる限り統合するように努めています。これには大文字のコマンドも含まれます。

開発中は、シンタックス ハイライトによって、標準の MMA 関数と競合する可能性があることが警告されるので、適切なアクションを実行できます。もちろん、私のコマンドとパッケージは MMA の将来のリリースと競合する可能性がありますが、永遠に続くものは何もありません。将来の MMA コマンドの名前と機能が私のものと似ている場合は、名前を最小限に変更するか変更せずに標準機能に切り替えるだけです。 .

これに加えて、大文字を使用してパッケージ コマンドとより控えめな一時変数を区別する方が視覚的にはるかに魅力的だと思います。視覚的に不透明で魅力のないコードを見たい場合は、平均的な Maple コードを見てください。

パターン変数に関しては、意味のある、ほとんどが短い、大文字のないパターン名を付けようとしています。そのため、ユーザーは Ctrl/Cmd-K テンプレートを見て、パッケージ コマンドでどのような入力が期待されるかを推測できます。

于 2011-11-05T15:50:19.747 に答える