[java] 약어가 포함 된 Java 명명 규칙 [닫기]

: 올바른 다음 Java 클래스의 이름은 무엇입니까
DVDPlayer또는 DvdPlayer?



답변

대답은 Java에는 이것에 대한 단일 표준이 없다는 것이므로 .NET Framework 디자인 지침에서이를 지정하고 싶습니다.

이제 주제를 벗어난 것에 대해 슬래 밍하기 전에 Java 및 .NET Framework의 클래스 이름 지정 지침은 매우 유사하므로 .NET 지침이 설득력있는 참조로 유용합니다.

일반적인 규칙

두 지침 모두 약어가 널리 알려져 있고 잘 이해 될 때 약어를 사용하는 것이 좋습니다. DVD 또는 XML은이를 잘 보여주는 예입니다. 즉각 인식 할 수는 있지만 확장 버전을 인식하는 데 시간이 조금 더 걸립니다.

약어

.NET Framework 지침은 두 가지 일반적인 약어 ‘ID’와 ‘OK’가 식별자에 사용될 수 있다는 점을 제외하고 약어 (약어와 달리)를 사용하지 않는 것이 좋습니다. 약어를 사용하는 경우 Id카멜 케이스 식별자의 첫 단어 (파스칼 케이스 식별자와 반대)를 제외하고 항상 대소 문자를 혼합하여 사용합니다 .

Java에서는이 규칙이 일부만 준수됩니다. 살펴보세요 철자를 혼합하는 방법에서 getIDgetIdJCL을에 있습니다. (해당 페이지 아래로 스크롤). 에서 자바 8 버전 하지만, getIdPascalCase 대회가 요즘 선호 암시하는, 더 많은 사용된다. 가능한 경우 약어를 완전히 피하는 것이 가장 좋습니다.

짧은 머리 글자

.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