Search
Duplicate

Code Convention

Google Java Style

๊ตฌ๊ธ€ ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋˜ indent๋Š” 4๋กœ ์„ค์ •ํ•˜์—ฌ ์ž‘์—…ํ•œ๋‹ค

์ค„ ๋‚˜๋ˆ„๊ธฐ

ํ•˜๋‚˜์˜ ์‹์ด ํ•œ ์ค„์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์„ ๋•Œ์—๋Š”, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ์›์น™๋“ค์„ ๋”ฐ๋ผ์„œ ๋‘ ์ค„๋กœ ๋‚˜๋ˆˆ๋‹ค.
โ€ข
์ฝค๋งˆ ํ›„์— ๋‘ ์ค„๋กœ ๋‚˜๋ˆˆ๋‹ค.
โ€ข
์—ฐ์‚ฐ์ž(operator) ์•ž์—์„œ ๋‘ ์ค„๋กœ ๋‚˜๋ˆˆ๋‹ค.
โ€ข
๋ ˆ๋ฒจ์ด ๋‚ฎ์€ ์›์น™๋ณด๋‹ค๋Š” ๋ ˆ๋ฒจ์ด ๋†’์€ ์›์น™์— ๋”ฐ๋ผ ๋‘ ์ค„๋กœ ๋‚˜๋ˆˆ๋‹ค.
โ€ข
์•ž์ค„๊ณผ ๊ฐ™์€ ๋ ˆ๋ฒจ์˜ ์‹(expression)์ด ์‹œ์ž‘๋˜๋Š” ์ƒˆ๋กœ์šด ์ค„์€ ์•ž์ค„๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ์ผ์น˜์‹œํ‚จ๋‹ค.
โ€ข
๋งŒ์•ฝ ์œ„์˜ ์›์น™๋“ค์ด ์ฝ”๋“œ๋ฅผ ๋” ๋ณต์žกํ•˜๊ฒŒ ํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฅธ์ชฝ ๋์„ ๋„˜์–ด๊ฐ„๋‹ค๋ฉด, ๋Œ€์‹ ์— 8๊ฐœ์˜ ๋นˆ ์นธ์„ ์‚ฌ์šฉํ•ด ๋“ค์—ฌ์“ด๋‹ค.

๋ฌธ(Statements)

๊ฐ๊ฐ์˜ ์ค„์—๋Š” ์ตœ๋Œ€ํ•œ ํ•˜๋‚˜์˜ ๋ฌธ(statement)๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ํ•œ๋‹ค.

PascalCase

โ€ข
์ฒซ๊ธ€์ž์™€ ์ด์–ด์ง€๋Š” ๋‹จ์–ด์˜ ์ฒซ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•
โ€ข
์˜ˆ)ย GoodPerson,ย MyKakaoCake,ย IAmDeveloper
โ€ข
Pascal ์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ด๋Ÿฌํ•œ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ์œ ๋ช…ํ•ด์ง„ ๋ฐฉ์‹์ด์•ผ.
โ€ข
PascalCaseย (ํŒŒ์Šค์นผ ์ผ€์ด์Šค)
โ—ฆ
์ฒซ๊ธ€์ž์™€ ์ด์–ด์ง€๋Š” ๋‹จ์–ด์˜ ์ฒซ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•
โ—ฆ
์˜ˆ)ย GoodPerson,ย MyKakaoCake,ย IAmDeveloper
โ—ฆ
Pascal ์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ด๋Ÿฌํ•œ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ์œ ๋ช…ํ•ด์ง„ ๋ฐฉ์‹์ด์•ผ.

๊ณต๋ฐฑ(Blank Spaces)

๊ณต๋ฐฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค.
โ€ข
๊ด„ํ˜ธ์™€ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚˜๋Š” ํ‚ค์›Œ๋“œ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•œ๋‹ค.
while (true) { ... }
Java
๋ณต์‚ฌ
โ€ข
๋ฉ”์„œ๋“œ ์ด๋ฆ„๊ณผ ๋ฉ”์„œ๋“œ์˜ ์—ฌ๋Š” ๊ด„ํ˜ธ ์‚ฌ์ด์— ๊ณต๋ฐฑ์ด ์‚ฌ์šฉ๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•˜์ž. ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๊ณผ ํ‚ค์›Œ๋“œ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค€๋‹ค.
โ€ข
๊ณต๋ฐฑ์€ ์ธ์ž(argument) ๋ฆฌ์ŠคํŠธ์—์„œ ์ฝค๋งˆ ์ดํ›„์— ๋‚˜ํƒ€๋‚˜์•ผ ํ•œ๋‹ค.
โ€ข
.์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์ดํ•ญ(binary) ์—ฐ์‚ฐ์ž๋Š” ์—ฐ์‚ฐ์ˆ˜๋“ค๊ณผ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด์ ธ์•ผ ํ•œ๋‹ค. ๊ณต๋ฐฑ์€ ๋‹จํ•ญ ์—ฐ์‚ฐ์ž(++ ํ˜น์€ โ€“)์˜ ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.
a += c + d; a = (a + b) / (c * d); while (d++ = s++) { n++; } printSize("size is " + foo + "\n");
Java
๋ณต์‚ฌ
โ€ข
for ๋ฌธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„ธ ๊ฐœ์˜ ์‹(expression) ๋“ค์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ๋‚˜๋ˆ„์–ด์•ผ ํ•œ๋‹ค.
for (expr1; expr2; expr3)
Java
๋ณต์‚ฌ
โ€ข
๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ๋ณ€ํ™˜ํ•˜๋Š” ์บ์ŠคํŠธ(cast)์˜ ๊ฒฝ์šฐ์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•œ๋‹ค.
myMethod((byte) aNum, (Object) x); myMethod((int) (cp + 5), ((int) (i + 3)) + 1);
Java
๋ณต์‚ฌ

camelCase

(์นด๋ฉœ ์ผ€์ด์Šค)
โ€ข
์ฒซ๋‹จ์–ด๋Š” ์†Œ๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜์ง€๋งŒ, ์ด์–ด์ง€๋Š” ๋‹จ์–ด์˜ ์ฒซ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•
โ€ข
์˜ˆ)ย goodPerson,ย myKakaoCake,ย iAmDeveloper

๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

๋„๋ฉ”์ธ - controller, dto, service, repository, entity,
Global
Common

๋„ค์ด๋ฐ ๊ทœ์น™

โ€ข
dto
๋„๋ฉ”์ธ + ๊ธฐ๋Šฅ + ์š”์ฒญ
โ—ฆ
request
โ—ฆ
response
โ€ข
Entity
โ—ฆ
์—”ํ‹ฐํ‹ฐ๋ช…: ๋„๋ฉ”์ธ๋ช… ๊ทธ๋Œ€๋กœ ex) User
โ€ข
database โ†’ echo_db

RequestDto ์ž‘์„ฑ ์–‘์‹

@Getter @NoArgsConstructor public RequestDto { //... }
Java
๋ณต์‚ฌ

ResponseDto ์ž‘์„ฑ ์–‘์‹

@Builder @Getter @AllArgsConstructor @NoArgsConstructor public ResponseDto { //... }
Java
๋ณต์‚ฌ