自分のユーザーパッケージをいくつか作成し、名前の衝突に遭遇しました。共通のlispパッケージ命名規則がありますか?
Javaでは、パッケージ名にドメイン名(例: )を使用するという命名規則が適用されます。 import com.example.somepackage ;.
一般的なlispパッケージのパッケージ命名規則は広く使用されていますか?私は本当にライブラリ機能への直接的な関係を持ってしようとしないsalza、スキッピー、ZS3、など:
よろしく、
ラッセル
自分のユーザーパッケージをいくつか作成し、名前の衝突に遭遇しました。共通のlispパッケージ命名規則がありますか?
Javaでは、パッケージ名にドメイン名(例: )を使用するという命名規則が適用されます。 import com.example.somepackage ;.
一般的なlispパッケージのパッケージ命名規則は広く使用されていますか?私は本当にライブラリ機能への直接的な関係を持ってしようとしないsalza、スキッピー、ZS3、など:
よろしく、
ラッセル
は、私が使用する慣習はユニークワードを使用することです。私は、他人が "zlib"や "zip"や "png"のように使うかもしれない一般的な言葉を避けようとしています。 Hunchentoot、Drakmaなど
一部の人々は、ドメイン・ネーミングを逆転org.foo.bar Javaスタイルを使用します。
エディワイツは彼のパッケージの多くに名前を付けるためにフランク・ザッパ関連の単語を使用しています。
したがって、直接的な答えは「いいえ」であり、誰もが使用する合意された共通の条約は存在しません。
標準的に実装されていますが標準化されていない機能のために、薄い互換性ラッパーを提供するパッケージは、しばしばTRIVIAL-SOMETHING
と呼ばれます。
これはいくつかの素晴らしい名前につながります。実装に依存しない方法で*FEATURES*
を使用するライブラリはTRIVIAL-FEATURES
と呼ばれます。ガベージコレクタと標準化された方法で対話するためのライブラリは、TRIVIAL-GARBAGE
と呼ばれます。
という一般的規則はありませんが、いくつかのパターンがある:ライブラリがcl-gtk2
またはcl-ppcre
のようないくつかの他の言語、ラッパーまたはそれはしばしばcl-
が付いているインタフェース・ライブラリーからのポートは、ある
cl-who
)がある時がありましたが、それはユニークな機能を実装していますが、まだ使用しています。sb-queue
またはlw-compat
のように、実装の省略名(最も顕著なもの:sb-
)の接頭辞が付きます。 trivial-backtrace
または
trivial-garbage
s-xml
のように、「象徴」のために立つことがs-
プレフィックスは、もありますように、trivial-
が付いているが、それはほとんど使用されませんです。これらの接頭辞は、パッケージの名前を一意にするのに役立ち、ウェブ上の情報を簡単に見つけるのに役立ちます。
その他の規則はありませんが、一般的な規則は、短い、一意の、おそらくは説明的な名前を優先することです。覚えやすく、使いやすく、情報を見つけるために。
パッケージに長い名前がある場合は、より短いニックネームを提供すると便利です。多くの場合、人々が名前で修飾されたパッケージのシンボルを使用することが多いためです。たとえば私のコードでは、ニックネーム「re
」をcl-ppcre
に追加すると、クライアントコードがはっきり分かるようになります。ニックネームが名前の衝突を引き起こさないように、注意を払う必要があります。
お返事ありがとうございます。これは私が使用したいくつかのパッケージからの私の観察を確認します - Frank Zappa関連の言葉の使用を除いて:)。 – Russell
lisp-on-linesのようなDrew Crampsieのバックログを忘れないでください。 – felideon
私は個人的にはLispの名前のドットが好きではありません。 –