[java] 약어가 포함 된 Java 명명 규칙 [닫기]
: 올바른 다음 Java 클래스의 이름은 무엇입니까
DVDPlayer
또는 DvdPlayer
?
답변
대답은 Java에는 이것에 대한 단일 표준이 없다는 것이므로 .NET Framework 디자인 지침에서이를 지정하고 싶습니다.
이제 주제를 벗어난 것에 대해 슬래 밍하기 전에 Java 및 .NET Framework의 클래스 이름 지정 지침은 매우 유사하므로 .NET 지침이 설득력있는 참조로 유용합니다.
일반적인 규칙
두 지침 모두 약어가 널리 알려져 있고 잘 이해 될 때 약어를 사용하는 것이 좋습니다. DVD 또는 XML은이를 잘 보여주는 예입니다. 즉각 인식 할 수는 있지만 확장 버전을 인식하는 데 시간이 조금 더 걸립니다.
약어
.NET Framework 지침은 두 가지 일반적인 약어 ‘ID’와 ‘OK’가 식별자에 사용될 수 있다는 점을 제외하고 약어 (약어와 달리)를 사용하지 않는 것이 좋습니다. 약어를 사용하는 경우 Id
카멜 케이스 식별자의 첫 단어 (파스칼 케이스 식별자와 반대)를 제외하고 항상 대소 문자를 혼합하여 사용합니다 .
Java에서는이 규칙이 일부만 준수됩니다. 살펴보세요 철자를 혼합하는 방법에서 getID
와 getId
JCL을에 있습니다. (해당 페이지 아래로 스크롤). 에서 자바 8 버전 하지만, getId
PascalCase 대회가 요즘 선호 암시하는, 더 많은 사용된다. 가능한 경우 약어를 완전히 피하는 것이 가장 좋습니다.
짧은 머리 글자
.NET Framework 지침에 따르면 ‘IO’와 같은 두 글자 약어는 두 글자 모두 대소 문자가 동일해야합니다. 따라서 클래스 이름과 같은 PascalCase 식별자의 DBRate
경우 지역 변수와 같은 camelCase 식별자의 경우가 있습니다 ioChannel
.
이것은 분명히 Java의 일반적인 관행 인 것처럼 보입니다.
긴 머리 글자
.NET Framework 지침에서는 머리 글자에 세 글자 이상을 사용하여 camelCase 식별자의 첫 단어를 제외하고 PascalCase 및 camelCase 식별자에 대소 문자를 혼용 할 것을 권장합니다. 따라서 클래스 이름의 XmlDocument
경우 로컬 변수의 이름을 지정할 수 있습니다 httpRequest
.
이 규칙이 항상 Java에서 준수되는 것은 아닙니다. 4 문자 약어는 일반적으로 대소 문자를 혼합 한 것으로 보이지만 JCL조차도 3 문자 약어와 일치하지 않습니다. ‘URL’, ‘XML’, ‘SQL’및 ‘DOM’과 같이 대부분 대문자 인 것처럼 보이지만 ‘Jar’와 같은 예외가 있습니다.
결론
Java의 경우 :
4 개 이상의 문자 약어의 경우 대소 문자를 혼합하여 사용하십시오. 표준 라이브러리가이 작업을 수행하므로 이해가됩니다.
3 자 약어의 경우 JCL과 같이 모두 대문자를 사용하거나 .NET Framework와 같이 대소 문자를 혼합하여 사용할 수 있습니다. 어느 쪽이든, 일관성을 유지하십시오.
2 자 약어의 경우 모두 대문자를 사용하십시오.
2 자 약어의 경우 Java에는 실제로 표준이 없지만 다른 이름과의 일관성으로 인해 모든 대문자가 더 좋아지지 않는 한 대소 문자를 혼합하여 사용하는 것이 좋습니다.
답변
“올바른”답변이 없습니다. 다른 도구와 더 잘 어울리는 일련의 관행과 규칙.
따라서 나는 선호한다 DvdPlayer
. Eclipse에서 Ctrl+ Shift+를 수행 T하고 각 단어의 첫 글자로 수업을 선택할 수 있으므로 더 유용 합니다.
답변
나는 둘 다 야생에서 사용되는 것을 보았고 Sun은 DVDPlayer
스타일 을 추구하는 것 같습니다 . DvdPlayer
그래도, 그래야 여러 개의 연속 약어가 있더라도 단어 경계가 어디에 있는지 분명하기 때문에 선호합니다 HTTPURLConnection
.
답변
다음과 같은 방식으로 클래스의 개별 인스턴스를 정의하고 싶습니다.
Catalogue catalogue;
Person person;
따라서를 사용하면 그 DVDPlayer
인스턴스를 무엇이라고 부릅니까? dVDPlayer
? 따라서 DvdPlayer
클래스 이름을 선택 하므로 인스턴스 이름을 다음과 같이 지정할 수 있습니다 dvdPlayer
.
답변
JavaSE 클래스, Apache Commons 및 Spring의 일부 예 :
HttpURLConnection
HTTPAddress
UrlPathHelper
AopProxy
ISBNValidator
따라서 그것은 중요하지 않습니다.
답변
효과적인 Java 는 DvdPlayer를 선호하는 것 같습니다.
답변
다른 사람들이 지적했듯이, 프로젝트마다 다른 스타일입니다. 구아바 및 GWT와 같은 Google 프로젝트는 DvdPlayer
스타일을 선호합니다 .
https://google.github.io/styleguide/javaguide.html#s5.3-camel-case