Java 패키지 명명 규칙의 요점은 무엇입니까?


14

Java가 패키지 이름으로 (아마도 가상의) 도메인 이름의 역을 사용하는 이유를 이해하지 못하는 반면 대부분의 사람들이 사용하는 도메인 이름과 제품이 서로 관련이 없습니다. 많은 개발자는 도메인이 없습니다.

이 명명 규칙의 이유는 무엇입니까?


도메인이 없어도 Java-land에서는 패키지 이름 지정을 가장하는 것이 일반적입니다. 예를 들어, com.louisrhys.xxx.yyy소유 여부에 관계없이louisrhys.com
Wayne Molina

답변:


14

글로벌 고유성. 사내 프로젝트를 넘어서 코드를 배포하는 모든 사람 또는 적어도 심각한 개발자가 해당 규칙을 준수하는 경우 다른 타사 라이브러리를 프로젝트에 추가 할 때 이름 충돌이 발생하지 않습니다. Java는 애플릿 및 인터넷을 통한 원격 클래스로드를 통해 언제 어디서나 코드 배포를위한 솔루션으로 전파되었습니다.


3
Java 1.4에서 Sun은 네임 스페이스를 변경하지 않고 오픈 소스 Apache XML 도구를 사용했습니다. 자신의 응용 프로그램에서 최신 버전을 사용하는 것이 오히려 "흥미로운"것으로 만들었습니다.

3
Java was initially propagated as a solution for code deployment anywhere, anytime 현재 Java 란 무엇입니까? 나는 당신에 대해 모르지만 여전히 Java WebStart를 사용하여 클라이언트 측 코드를 내부 네트워크의 수천 대의 PC에 배포합니다. 이로 인해 "Release Early, Release 종종"는 모든 사람에게 훨씬 덜 고통 스럽습니다.
maple_shaft

1
반드시 사실 일 필요는 없습니다. 결국 도메인 이름을 잃게됩니다. 죽거나 갱신하는 것을 잊어 버릴 수 있습니다. 다른 사람이 그것을 사고, 깨닫지 않고 당신과 충돌하는 Java 패키지를 만들 수 있습니다. 또한 누군가가 도메인을 소유하기 전에 도메인을 소유하고 코드와 충돌하는 코드를 생성 할 수도 있습니다.
케빈

@maple_shaft Java 애플릿이 감소한 이후로 대부분의 사용자에게는 그렇지 않았습니다. 오히려 응용 프로그램을위한 또 다른 플랫폼 일뿐입니다 (예 : Qt 또는 XUL 또는 Electron).
user253751

12

Wikipedia 가 그 주제에 관해 말한 것처럼

"Java 언어 사양은 동일한 이름을 가진 두 개의 게시 된 패키지의 가능성을 피하기 위해 패키지 이름 지정 규칙을 설정합니다."


사양에 개발자가 자신의 도메인 이름을 가지고 있지 않은 경우 어떤 규칙을 사용해야합니까?
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner : 아니요 그렇지 않습니다 .
Mike Seymour

@ MikeSeymour : 그래서 ... 우리는 그 경우에 원하는 이름을 지정할 수 있습니까? 우후! :)
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner 그러나 원하는 경우 이름을 지정할 수 있습니다. 다른 사람이 소프트웨어를 사용하도록하려면 사양을 따르고 실제 도메인이없는 경우 논리적이고 고유 한 네임 스페이스를 유추해야합니다.
Jeremy

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.