development

Java 패키지 이름이 소문자 여야하는 이유는 무엇입니까?

big-blog 2021. 1. 10. 19:48
반응형

Java 패키지 이름이 소문자 여야하는 이유는 무엇입니까?


사실 이것은 완전히 이론적 인 질문입니다. 그러나 Java 사양이 패키지에서 대문자를 허용하지 않고 다음과 같이 작성하는 이유는 흥미 롭습니다.

com.mycompany.projname.core.remotefilesystemsynchronization.*

대신에

com.myCompanyName.projName.core.remoteFileSystemSynchronization.*

Oracle Docs 에서 직접

패키지 이름은 클래스 또는 인터페이스 이름과 충돌하지 않도록 모두 소문자로 작성됩니다.


그러나 Java 사양이 패키지에서 대문자를 허용하지 않고 다음과 같이 작성하는 이유는 흥미 롭습니다.

사양 괜찮습니다. 모두 소문자를 사용 하는 것은 관례 일뿐 입니다.

gtgaxiola가 말했듯이 이것은 유형 이름과의 충돌을 피합니다 ... .NET 명명 규칙에서 이런 발생 하여 네임 스페이스와 동일한 클래스 이름을 지정하지 말아야합니다 . 물론, camelCase 패키지를 사용하면 충돌을 완전히 피할 수 있습니다.

현실은 패키지 명명 규칙을 만들 때 철저히 고려되지 않았다는 것입니다. 개인적으로 문제가되는 경우는 거의 없습니다. "remotefilesystemsynchronization"의 한 요소가 포함 된 패키지를 보게된다면 대문자 사용이 중요하지 않습니다. :)


그것의 또 다른 관례-클래스 이름이 항상 대문자로 시작해야하는 이유 또는 메소드 이름이 작은 케이스로 시작한 다음 낙타 케이스로 시작해야하는 이유를 묻습니다. 자바 는 그렇게하도록 강요 하지 않습니다 . 밑줄이 그어진 규칙 세트는 Java 개발자로서 대규모 커뮤니티가 규칙을 따르는 대다수가 쉽게 이해할 수있는 코드를 작성하는 데 도움이됩니다.

그와 같이 명확한 이유를 지정할 수 없습니다. 대회를 작성하는 동안 기분이 좋았 습니다 . 그러나 예 지침은 규칙을 작성하기 전에 분명히있을 것입니다. 나는 그것이 기발한 일을 의미하지 않습니다. 지침은 요소를 확인하는 것만으로 클래스, 메서드 또는 패키지 및 중요한 모든 것이 달성 된 규칙에 있는지 알 수 있어야한다는 것입니다.

참조 URL : https://stackoverflow.com/questions/12534302/why-should-java-package-name-be-lowercase

반응형