2009-11-16 7 views
20

나는 내 자신의 사용자 패키지 중 일부를 만들었고 이름 충돌이 발생했습니다.일반적인 lisp 패키지 명명 규칙이 있습니까?

Java에서는 패키지 이름에 도메인 이름 (예 : )을 사용하는 것이 명명 규칙입니다. import com.example.somepackage ;.

일반적인 lisp 패키지에 대해 널리 사용되는 패키지 명명 규칙이 있습니까?

감사합니다,

러셀

답변

20

내가 사용하는 규칙은 독특한 단어를 사용하는 것입니다 : 정말 라이브러리 기능에 직접적인 관계를하려고하지 않는 salza, 스키 피, ZS3, 등. 나는 다른 사람들이 "zlib"또는 "zip"또는 "png"와 같이 사용할 수있는 일반적인 단어는 피하려고합니다. Hunchentoot, Drakma 등

어떤 사람들은 도메인 이름을 반전 org.foo.bar Java 스타일을 사용

에디 바이 츠는 그의 패키지의 많은 이름을 프랭크 자파 관련 단어를 사용합니다.

따라서 직접적인 대답은 아니오입니다. 모든 사람이 사용하는 공통의 동의 한 협약은 없습니다.

+1

답변 해 주셔서 감사합니다. 이것은 Frank Zappa 관련 단어의 사용을 제외하고 내가 사용한 몇 안되는 패키지로부터의 나의 관찰을 확인한다. – Russell

+0

lisp-on-lines과 같은 Drew Crampsie의 후행을 잊지 마십시오. – felideon

+3

나는 개인적으로 Lisp 이름의 점을 좋아하지 않는다. –

7

흔히 볼 수있는 규칙 중 하나는 일상적으로 구현되었지만 표준화되지 않은 기능인 thin 호환성 래퍼를 제공하는 패키지를 흔히 TRIVIAL-SOMETHING이라고합니다.

이것은 구현에 독립적 인 방식으로 *FEATURES*을 사용하는 라이브러리를 TRIVIAL-FEATURES이라고합니다. 가비지 콜렉터와 표준화 된 방식으로 상호 작용하는 라이브러리는 TRIVIAL-GARBAGE입니다.

4

대한 일반적인 규칙은 없다,하지만 몇 가지 패턴이있다 : 라이브러리가 cl-gtk2 또는 cl-ppcre 같은 다른 언어, 래퍼 또는 종종 cl-로 시작되는 인터페이스 라이브러리에서 포트입니다

  1. . 이 접두사가 남용되어 많은 패키지 (예 : cl-who)가있는 시간이 있었지만 고유 한 기능을 구현했지만 여전히 사용합니다.
  2. 패키지가 구현 관련 일 경우 sb-queue 또는 lw-compat과 같이 구현 접두사가 가장 앞에 붙습니다 (가장 중요한 것은 sb-).
  3. 패키지가 구현 사이의 호환성 계층 인 경우
  4. , 그것은 종종 trivial-backtrace 또는 trivial-garbage
  5. s-xml처럼 '상징적'에 대한 참을 수 s- 접두사가 있는데,처럼, trivial-로 시작되지만 거의 사용되지 않는 것.

이 접두어는 패키지 이름을 고유하게 만들어 웹에서 정보를 쉽게 찾을 수 있도록 도와줍니다.

그렇지 않으면 구체적인 규칙이 없지만 일반적으로 규칙은 짧고 고유하며 설명이 포함 된 이름을 선호하는 것입니다. 기억하기 쉽고, 사용법 및 정보를 찾는 이유.

패키지의 이름이 길면 이름이 더 짧은 패키지 기호를 사용하는 것보다 더 짧은 닉네임을 제공하는 것이 편리합니다. 예를 들어 내 코드에서 re이라는 별명을 cl-ppcre에 추가하면 클라이언트 코드를 훨씬 더 명확하고 명확하게 만듭니다. 별명이 이름 충돌을 일으키지 않도록주의해야합니다.

관련 문제