Java 패키지 이름에서 단어 구분 기호 표기법은 무엇입니까?
패키지 이름에서 단어를 어떻게 구분해야 합니까?다음 중 올바른 것은 무엇입니까?
com.stackoverflow.my_package
)Snake Case
) (언더스코어 사용)com.stackoverflow.my-package
)Kebab Case
★★★★★★★★★★★★★★★★」com.stackoverflow.myPackage
)Camel Case
)com.stackoverflow.MyPackage
)Pascal Case
)
일반적인 기준은 무엇입니까?
이 세 가지가 모두 관례는 아닙니다.
com.stackoverflow.mypackage
.
패키지 이름은 캐멀 대문자, 밑줄 또는 하이픈 패키지 명명 규칙을 따르지 않습니다.
또한 Google Java Style Guide도 정확히 동일하게 지정합니다(예:com.stackoverflow.mypackage
(영어:
5.2.1 패키지명
패키지 이름은 모두 소문자로, 연속된 단어가 함께 연결됩니다(밑줄 없음).를 들어, 「」라고 하는 것은,
com.example.deepspace
, 아니다com.example.deepSpace
★★★★★★★★★★★★★★★★★」com.example.deep_space
.- Google Java Style Guide: 5.2 식별자 유형별 규칙: 5.2.1 패키지 이름.
공식 명명 규칙 문서에 명시된 내용은 다음과 같습니다.
패키지
는 항상 , 현재는 최상위 이름 중 은 ASCII의 ASCII입니다.
com
,edu
,gov
,mil
,net
,org
또는 ISO 표준 3166, 1981에 명시된 국가를 식별하는 영문 2글자 코드 중 하나.패키지 이름의 후속 구성 요소는 조직의 내부 명명 규칙에 따라 달라집니다.이러한 규칙에서는 특정 디렉토리 이름 구성 요소가 부서, 부서, 프로젝트, 시스템 또는 로그인 이름으로 지정될 수 있습니다.
예
com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
레퍼런스
특히 최상위 도메인 접두사 뒤에 오는 모든 항목은 위 문서에서 지정되지 않습니다.또한 JLS는 다음과 같은 예를 들어 이에 동의합니다.
com.sun.sunsoft.DOE
gov.whitehouse.socks.mousefinder
com.JavaSoft.jag.Oak
org.npr.pledge.driver
uk.ac.city.rugby.game
다음 발췌문도 관련이 있습니다.
경우에 따라 인터넷 도메인 이름이 유효한 패키지 이름이 아닐 수 있습니다.다음은 이러한 상황에 대처하기 위한 몇 가지 권장 표기법입니다.
- 도메인 이름에 하이픈이 포함되어 있거나 식별자에 허용되지 않는 다른 특수 문자가 포함되어 있는 경우 이를 밑줄로 변환합니다.
- 생성된 패키지 이름 구성 요소 중 하나가 키워드일 경우 해당 구성 요소에 밑줄을 추가합니다.
- 생성된 패키지 이름 구성 요소 중 숫자로 시작하는 것이 있거나 ID의 초기 문자로 허용되지 않는 다른 문자가 있는 경우 구성 요소 앞에 밑줄이 붙습니다.
레퍼런스
누구나 언더스코어 사용 가능_ (괜찮습니다.
하이픈을 사용하면 안 된다 - (잘못된 관행)
패키지 이름에 대문자를 사용하지 마십시오(부적절한 관행).
메모: 여기서 "Bad Practice"는 엄밀히 말하면 그것을 사용하는 것이 허용되지만, 일반적으로 쓰는 것은 좋은 매너가 아닙니다.
출처: 패키지 이름 지정(docs.oracle)
공식 명명 규칙은 그렇게 엄격하지 않습니다. 접두사(prefix)를 제외하고 카멜 대소문자 표기법도 '포기'하지 않습니다.com
를 참조해 주세요).
하지만 저는 개인적으로 대소문자는 피하고 싶습니다.
및 하이픈 , 짝수.난 선택하겠어com.stackoverflow.mypackage
브래그보이가 제안했던 것처럼요
(패키지명에서는 '-'는 유효하지 않습니다)
편집
흥미롭다 - 언어 사양에는 명명 규칙에 대해서도 언급이 있다.
「7.7 Unique Package Names 」에서는, 대문자(따라서 Camel Case 표기법도 OK)로 구성된 패키지명의 예를 볼 수 있습니다.이 예에서는, 하이포네이션은 밑줄( 「mary-lu」-> 「mary_lu」)로 치환해, 프리픽스 java 키워드를 밑줄(「com.example.enum」->->-> 「com._enum")
패키지 이름의 대문자 예는 6.8.1 패키지 이름 장에서 확인할 수 있습니다.
패키지 이름에서 밑줄은 보기 흉합니다.3개 이상의 단어를 조합한 이름의 경우 이니셜을 사용합니다(예:com.company.app.ingresoegresofijo (ingreso/egreso fijo) -> com.company.app.iefijo
패키지 용도를 다음에서 문서화합니다.package-info.java
.
패키지 이름에 단어들을 연결하는 것은 대부분의 개발자들이 하지 않는 것이다.
이런 거 써도 돼요.
com.stackoverflow.mypackage
JLS 이름 선언 참조
도메인의 역순
역 도메인 이름 표기법(또는 역 DNS)은 프로그래밍 언어, 시스템 또는 프레임워크에서 사용되는 컴포넌트, 패키지, 유형 또는 파일 이름의 명명 규칙입니다.리버스 DNS 문자열은 등록된 도메인 이름을 기반으로 구성 요소의 순서를 반대로 하여 그룹화합니다.예를 들어, "My Product" 제품을 만드는 회사가 도메인 이름 example.com을 가지고 있는 경우, 이들은 역 DNS 문자열 com.dism을 사용할 수 있습니다.MyProduct를 해당 제품의 식별자로 지정합니다.도메인 이름은 등록된 소유자에게 글로벌하게 고유하기 때문에 역DNS 이름을 사용하면 네임스페이스 충돌을 방지할 수 있습니다.
패키지 이름 지정
자바 프로그래밍 언어를 사용하는 전세계 프로그래머들이 쓰는 수업과 인터페이스로 인해, 많은 프로그래머들이 다른 유형에 대해 같은 이름을 사용할 가능성이 높다.실제로 앞의 예에서는 다음과 같이 되어 있습니다.Rectangle 클래스를 정의합니다(이미 존재하는 경우).
이것은 두 명의 독립된 프로그래머가 패키지에 같은 이름을 사용하지 않는 한 잘 작동합니다.이 문제를 막는 것은 무엇입니까?관습.
명명 규칙
https://www.scientecheasy.com/2020/06/packages-in-java.html/
https://en.wikipedia.org/wiki/Reverse_domain_name_notation # : ~ : text = % % 20 domain % 20 name % 20 notation % 20 (또는 컴포넌트 % 20 reversed % 20 for % 20 grouping % 20 purposes )
http://www.wellnwill.com/tutorial/core-java/package/package-convention https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
언급URL : https://stackoverflow.com/questions/3179216/what-is-the-convention-for-word-separator-in-java-package-names
'programing' 카테고리의 다른 글
컴포넌트 메서드를 모사하는 방법 (0) | 2022.07.13 |
---|---|
Quasar Framework q-select가 v-모델의 개체를 ID보다 높게 설정함 (0) | 2022.07.13 |
스트림을 두 개로 나눌 수 있습니까? (0) | 2022.07.12 |
vuejs 2를 몇 개의 html 페이지에서 사용하는 방법 (typescript 및 ASP)넷코어 (0) | 2022.07.12 |
선택 태그 내의 화살표 아이콘을 글꼴이 큰 아이콘으로 변경하려면 어떻게 해야 합니까?Vue-Cli를 사용하고 있습니다.나는 main.js에서 폰타썸을 수입했다. (0) | 2022.07.12 |