02. source file structure :: 2021/11/17 10:38
개발자를 위한
Java Programming Style Guide (ref. Google style guide)
소스 파일 구조(Source file Structure)
소스 파일은 다음과 같은 순서로 구성되어 있습니다.
- 필요한 경우, 라이선스나 카피라이트 정보(License or Copyright Information)
- 패키지 선언문 (Package Statement)
- 임포트 선언문 (Import Statement)
- 유일한(Exactly One) 최상위 클래스(Top-Level Class)
위의 번호에 해당하는 각 섹션은 단 하나의 빈줄(Exactly one blank line)로 구분합니다.
라이선스나 카피라이트 정보(license or copyright information)
만약 소스 파일에 라이선스나 카피라이트 정보를 포함해야 한다면, 소스 파일의 맨 위에 첫번째로 작성합니다.
패키지 구문(package statement)
만약 소스 파일에 라이선스나 카피라이트 정보를 포함해야 한다면, 소스 파일의 맨 위에 첫번째로 작성합니다.
임포트 구문(import statements)
- 와일드카드 임포트 미사용(No wildcard imports)
정적이든 아니든(static or otherwise), 와일드카드 임포트(wildcard imports)는 사용하지 않습니다.
- 줄바꿈 미사용(No line-wrapping)
임포트 구문(import statement)은 줄바꿈하지 않습니다. 열 제한(column limit)도 임포트 구문에는 적용되지 않습니다. (소스코드에서는 100글자로 제한됩니다.)
- 순서와 간격(Ordering and Spacing)
임포트 구문에서는 다음과 같은 순서로 작성합니다.
1) 모든 정적 임포트(static import)는 단일 블록(single block)에 작성합니다.
2) 모든 비정적 임포트(non-static import)는 단일 블록(single block)에 작성합니다.
정적, 비정적 임포트 구문이 모두 있는 경우, 두 블록 사이는 단일 빈 줄로 구분합니다. 그 이외 임포트 구문 사이에는 빈줄이 없어야 합니다.
각 블록 내에서 임포트 선언된 이름은 ASCII 정렬 순서로 나타납니다.
Note : ‘.’가 ‘;’보다 먼저 정렬되기 때문에 ASCII 정렬 순서 내에 있는 임포트 구문과 동일하지 않습니다. 즉, ‘.’ 단위로 구분되는 경우, ‘.’ 단위로 ASCII 정렬 순서대로 정렬되어야 합니다.
- 클래스에 대해 정적 임포트 미사용(No static import for classes)
정적 임포트(static import)는 정적 중첩 클래스(static nested classes)에 사용하지 않습니다. 정적 중첩 클래스에 대해서는 일반적인 임포트(normal import)를 사용합니다.
클래스 선언(class declaration)
- 정확히 하나의 최상위 클래스 선언(Exactly one top-level class declaration)
소스 파일 내 최상위 클래스는 하나만 있어야 합니다.
- 클래스 내용의 순서(Ordering of class contents)
클래스의 멤버(member)와 초기자(initializer)에 대해 선택한 순서는 학습가능성(learnability)에 큰 영향을 미칠 수 있습니다. 하지만, 어떻게 올바르게 순서를 선택할지에 대한 단 하나의 완벽한 레시피(recipe)는 없습니다. 다른 클래스는 다른 방법으로 클래스 내 컨텐츠의 순서를 정렬할 수 있습니다.
중요한 것은, 관리자(maintainer)가 요구하면 설명할 수 있도록 각 클래스는 어떤 논리적인 순서(logical order)를 사용한다는 것입니다. 예를 들어, 논리적인 순서가 아닌, “추가된 날짜별(chronological by date added)” 순서로 나타나는 경우에는 새로운 메서드(method)는 습관적으로 클래스의 맨 끝에 추가되지 않습니다.
1) 오버로드(Overloads) : 절대로 분할하지 않아야 함
클래스에 여러 생성자(multiple constructors)가 있는 경우나 동일한 이름의 여러 메서드(method)가 있는 경우, 각 생성자나 메서드 사이에 다른 코드 없이(private member도 생성자나 메서드 사이에 있으면 안 됨) 순차적으로 나타납니다.
-
tarmac driveways dublin
Tracked from tarmac driveways dublin | 2022/05/24 16:04 | DELGreat Architect & Artist -
-
Dating profile writer
Tracked from Dating profile writer | 2022/05/26 07:59 | DELGreat Architect & Artist -
-
bitcode prime erfahrungen
Tracked from bitcode prime erfahrungen | 2022/05/26 17:10 | DELGreat Architect & Artist -
-
Login Pasukan88
Tracked from Login Pasukan88 | 2022/05/28 19:12 | DELGreat Architect & Artist -
-
mental health treatment arizona
Tracked from mental health treatment arizona | 2022/05/28 19:55 | DELGreat Architect & Artist -
-
Psychology test bank
Tracked from Psychology test bank | 2022/05/29 16:25 | DELGreat Architect & Artist -
-
seibert consulting group client reviews
Tracked from seibert consulting group client reviews | 2022/05/30 17:06 | DELGreat Architect & Artist -
-
forex binary options
Tracked from forex binary options | 2022/05/30 20:09 | DELGreat Architect & Artist -
-
Togel Online
Tracked from Togel Online | 2022/05/31 16:54 | DELGreat Architect & Artist -
-
Argyle diamonds
Tracked from Argyle diamonds | 2022/05/31 18:47 | DELGreat Architect & Artist -
-
jilbab toket gede
Tracked from jilbab toket gede | 2022/06/01 08:55 | DELGreat Architect & Artist -
-
Ankauf elektronischer Bauelemente / Bauteile / Elektronikkomponente / elektronische Bauteile
Tracked from Ankauf elektronischer Bauelemente / Bauteile / Elektronikkomponente / elektronische Bauteile | 2022/06/01 13:58 | DELGreat Architect & Artist -
-
the 5ers prop firm
Tracked from the 5ers prop firm | 2022/06/01 17:20 | DELGreat Architect & Artist -
-
pressure washing
Tracked from pressure washing | 2022/06/01 18:48 | DELGreat Architect & Artist -
-
brene bown cave creek
Tracked from brene bown cave creek | 2022/06/02 06:58 | DELGreat Architect & Artist -
-
mental health therapy fountain hills
Tracked from mental health therapy fountain hills | 2022/06/02 10:13 | DELGreat Architect & Artist -
-
Paper Boyz
Tracked from Paper Boyz | 2022/06/03 05:28 | DELGreat Architect & Artist -
-
Business Development
Tracked from Business Development | 2022/06/04 11:54 | DELGreat Architect & Artist -
-
Thailand Tour Agency
Tracked from Thailand Tour Agency | 2022/06/04 14:33 | DELGreat Architect & Artist -
-
prediksi slot hari ini
Tracked from prediksi slot hari ini | 2022/06/04 16:26 | DELGreat Architect & Artist -
-
team building Adelaide
Tracked from team building Adelaide | 2022/06/05 15:32 | DELGreat Architect & Artist -
-
UK route planner and mileage calculator
Tracked from UK route planner and mileage calculator | 2022/06/07 01:54 | DELGreat Architect & Artist -
-
onward flight
Tracked from onward flight | 2022/06/07 08:44 | DELGreat Architect & Artist -
-
onwardsticket apply for america visa
Tracked from onwardsticket apply for america visa | 2022/06/07 09:09 | DELGreat Architect & Artist -
-
اخذ مجوز کانون آگهی
Tracked from اخذ مجوز کانون آگهی | 2022/06/07 21:06 | DELGreat Architect & Artist -
-
خرید فالوور اینستا
Tracked from خرید فالوور اینستا | 2022/06/07 23:12 | DELGreat Architect & Artist -
-
nft through web browsing
Tracked from nft through web browsing | 2022/06/08 00:29 | DELGreat Architect & Artist -
-
india hotel itinerary for visa
Tracked from india hotel itinerary for visa | 2022/06/08 18:19 | DELGreat Architect & Artist -
-
dummy itinerary for canada visa
Tracked from dummy itinerary for canada visa | 2022/06/08 19:19 | DELGreat Architect & Artist -
-
sono bello
Tracked from sono bello | 2022/06/08 22:10 | DELGreat Architect & Artist -
-
Katelyn Berry LGBTQ
Tracked from Katelyn Berry LGBTQ | 2022/06/10 18:42 | DELGreat Architect & Artist -
-
ONE 3 THREE
Tracked from ONE 3 THREE | 2022/06/11 15:27 | DELGreat Architect & Artist -
-
buy 4-fmph
Tracked from buy 4-fmph | 2022/06/11 17:00 | DELGreat Architect & Artist -
-
Artificial Intelligence Consulting
Tracked from Artificial Intelligence Consulting | 2022/06/11 20:32 | DELGreat Architect & Artist -
-
Cape Royale floor plan
Tracked from Cape Royale floor plan | 2022/06/12 18:38 | DELGreat Architect & Artist -
-
Windows 10 Product Key
Tracked from Windows 10 Product Key | 2022/06/12 20:53 | DELGreat Architect & Artist -
-
Communication Training
Tracked from Communication Training | 2022/06/14 13:57 | DELGreat Architect & Artist -
-
professional driving schools
Tracked from professional driving schools | 2022/06/16 14:17 | DELGreat Architect & Artist -
-
windows kvm vps
Tracked from windows kvm vps | 2022/06/16 14:37 | DELGreat Architect & Artist -
-
child doctor in rohini
Tracked from child doctor in rohini | 2022/06/17 03:17 | DELGreat Architect & Artist -
-
Cosmic Sleep
Tracked from Cosmic Sleep | 2022/06/17 13:50 | DELGreat Architect & Artist -
-
magnets for kids
Tracked from magnets for kids | 2022/06/17 15:10 | DELGreat Architect & Artist -
-
iphone bình dương
Tracked from iphone bình dương | 2022/06/18 09:01 | DELGreat Architect & Artist -
-
samsung galaxy
Tracked from samsung galaxy | 2022/06/18 09:22 | DELGreat Architect & Artist -
-
Bangladesh factories
Tracked from Bangladesh factories | 2022/06/19 00:24 | DELGreat Architect & Artist -
-
best ndis providers
Tracked from best ndis providers | 2022/06/19 08:43 | DELGreat Architect & Artist -
-
ndis approved
Tracked from ndis approved | 2022/06/19 09:05 | DELGreat Architect & Artist -
-
my luxeve ndis
Tracked from my luxeve ndis | 2022/06/19 09:29 | DELGreat Architect & Artist -
-
my luxeve ndis registered
Tracked from my luxeve ndis registered | 2022/06/19 09:37 | DELGreat Architect & Artist -
-
ndis approved shops
Tracked from ndis approved shops | 2022/06/19 09:44 | DELGreat Architect & Artist -
-
my luxeve ndis registered
Tracked from my luxeve ndis registered | 2022/06/19 11:42 | DELGreat Architect & Artist -
-
Polygon erc1155 nft bulk sender airdrop tool
Tracked from Polygon erc1155 nft bulk sender airdrop tool | 2022/06/19 23:20 | DELGreat Architect & Artist -
-
Social media expert
Tracked from Social media expert | 2022/06/20 18:57 | DELGreat Architect & Artist -
-
#foreignmodelagency
Tracked from #foreignmodelagency | 2022/06/21 04:45 | DELGreat Architect & Artist -
-
doxycycline ruined my life
Tracked from doxycycline ruined my life | 2022/06/21 13:55 | DELGreat Architect & Artist -
-
Search firm
Tracked from Search firm | 2022/06/21 16:52 | DELGreat Architect & Artist -
-
dogecoin bar code generator
Tracked from dogecoin bar code generator | 2022/06/22 14:27 | DELGreat Architect & Artist -
-
situs gacor slot qq terpercaya
Tracked from situs gacor slot qq terpercaya | 2022/06/24 18:59 | DELGreat Architect & Artist -
-
austin texas catering companies
Tracked from austin texas catering companies | 2022/06/25 08:06 | DELGreat Architect & Artist -
-
Corporate catering Austin large office
Tracked from Corporate catering Austin large office | 2022/06/25 10:55 | DELGreat Architect & Artist -
-
austin catering menu
Tracked from austin catering menu | 2022/06/25 11:44 | DELGreat Architect & Artist -
-
Fennec fox for sale
Tracked from Fennec fox for sale | 2022/06/25 17:25 | DELGreat Architect & Artist -
-
fennec fox adoption
Tracked from fennec fox adoption | 2022/06/25 18:52 | DELGreat Architect & Artist -
-
fennec foxes for sale
Tracked from fennec foxes for sale | 2022/06/25 22:21 | DELGreat Architect & Artist -
-
Telegram 中文版
Tracked from Telegram 中文版 | 2022/06/26 22:18 | DELGreat Architect & Artist -
-
heavy hitters skywalker og
Tracked from heavy hitters skywalker og | 2022/06/26 23:26 | DELGreat Architect & Artist -