"์ฌ์ฉ์๊ฐ ์ค์ ํ ์ง์ญ์ ๋ ์คํ ๋์ ๋ถ๋ฌ์ ์ค์๊ธฐ๋ฅผ ๋์ ํด์ฃผ๊ณ , ๊ทธ๊ฒ๊ณผ ๊ด๋ จ๋ ์๋น์ค๋ฅผ ํธ๋ฆฌํ๊ฒ๋ฅผ ๋์ ํด์ฃผ๋ ์น์ฌ์ดํธ ์
๋๋ค."
๋ฐฑ์๋ ๋ก์ง์ ์ง์คํ๊ธฐ ์ํด์ ํ๋ฉด์ ์ต๋ํ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค๊ณ ์ค๊ณํ์์ผ๋ฉฐ REST API ์๋ฒ๋ก ๋์ฉ๋ ํธ๋ํฝ์ ๊ณ ๋ คํ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ๊ฐ๋ฐํ์์ต๋๋ค.
ํ๋ฉด ์ค๊ณ์ ๋ํ Figma ํ๋กํ ํ์ ๋์์ธ๊ณผ Usecase๋ฅผ ๋ณด์ค ์ ์์ต๋๋ค. ๊ธฐ์ ์ ์ธ ๋ฌธ์ ์ ๋ถ๋ชํ ํด๊ฒฐํ ์ด์ผ๊ธฐ์ ๋ํ ๊ฐ์ธ ํ ํฌ ๋ธ๋ก๊ทธ์ ์ฃผ์๋ ํฌํจ๋์ด ์์ต๋๋ค.
- ๊นํํ(๋ฆฌ๋) : ์ ์ - ์ํ๋ฆฌํฐ, ๋ก๊ทธ์ธ, ๋ก๊ทธ์์
- ๋ฐ์ ํ(๋ถ๋ฆฌ๋) : ๋ ์คํ ๋ - ํ๋งค์์ ์ฒญ, ๋ธ๋๋ฆฌ์คํธ,๋ ์คํ ๋์์
- ํ์ ๊ท : ๋ ์คํ ๋ - ๋ฉ๋ด, ์นดํ
๊ณ ๋ฆฌ, ๊ฒ์
- ์กฐ์ฑ์ : ์ค์๊ธฐ - ํธ์ถ, ๋ฆฌ๋ทฐ
- ์ก๊ฒฝํ : ์ด๋ฒคํธ - ์ฟ ํฐ ์ ์ ๋ฐ๊ธ์ฟ ํฐ
โ๏ธ ๋์ฉ๋ ํธ๋ํฝ์ ์ํฉ์์ ์ง์์ ์ธ ์๋ฒ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํด ๋
ธ๋ ฅํ์์ต๋๋ค.
โ๏ธ ๊พธ์คํ ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ์งํ ์ค์
๋๋ค.
โ๏ธ ์ด์ ์ ๊ทผ๊ฑฐ๊ฐ ๋ช
ํํ ๊ธฐ์ ์ ์ฌ์ฉ์ ์งํฅํฉ๋๋ค.
โ๏ธ ๊ฐ์ฒด์งํฅ์ ๊ฐ๋
์ ์ดํดํ๊ณ ์ด๋ฅผ ์ฝ๋์ ๋
น์ฌ๋ด์ด ์๋ฏธ ์๋ ์ค๊ณ๋ฅผ ์งํฅํ์์ต๋๋ค.
โ๏ธ ์ฑ๊ณต๋ง ํ๋ ํ
์คํธ๋ณด๋จ ์คํจํ ๋งํ ๋จ์ ํ
์คํธ๋ฅผ ์์ฑํ์์ต๋๋ค.
โ๏ธ ๋ฐ๋ณต์ ์ธ ์์
์ ์๋ํํ์ฌ ๊ฐ๋ฐ์ ํจ์จ์ ๋์ด๊ธฐ ์ํด ๋
ธ๋ ฅํ์์ต๋๋ค.
๊ณ ๊ฐ API ๋ช
์ธ์ : ๊ณ ๊ฐ์ ๊ดํ
API
ํ๋งค์ API ๋ช
์ธ์ :
ํ๋งค์์ ๊ดํ API
๊ด๋ฆฌ์ API ๋ช
์ธ์ :
๊ด๋ฆฌ์์ ๊ดํ API
Git-flow ๋ธ๋์น ์ ๋ต์ ๋ฐ๋ผ ๊ธฐ๋ฅ๋ณ๋ก ๋ธ๋์น๋ฅผ ๋๋์ด ์์ ํ๊ณ ์๊ณ ๋ชจ๋ ๋ธ๋์น์ ๋ํด pull request๋ฅผ ํตํ ๋ฆฌ๋ทฐ ์๋ฃ ํ merge๋ฅผ ํ๊ณ ์์ต๋๋ค.
โ
master : ์ ํ์ผ๋ก ์ถ์๋ ์ ์๋ ๋ธ๋์น๋ฅผ ์๋ฏธํฉ๋๋ค.
โ
develop : ๋ค์ ์ถ์ ๋ฒ์ ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น์
๋๋ค. feature์์ ๋ฆฌ๋ทฐ ์๋ฃํ ๋ธ๋์น๋ฅผ Mergeํ๊ณ ์์ต๋๋ค.
โ
feature : ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ณ hotfix ๋ฒ๊ทธ ์์ ๋ ๊ฐ์ดํ๋ ๋ธ๋์น์
๋๋ค.
- ๋ธ๋์น๋ develop์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ๊ณ , ๋๋ฉ์ธ ๋จ์๋ก ์์ฑํ๊ณ PR์ ์์ฒญํฉ๋๋ค. feature/๋๋ฉ์ธ๋ช
(์์ด๋ก)
- Github Project๋ฅผ ์ฌ์ฉ : New: ์๋ก์ด ๊ธฐ๋ฅ, Ready: ๋ง๋ค์ด์ผ ํ๋ ๊ธฐ๋ฅ, In
progress: ๋ง๋ค๊ณ ์๋ ๊ธฐ๋ฅ,
In review: ๋ฆฌ๋ทฐ ์ค์ธ ๊ธฐ๋ฅ, Done: ๋๋ ๊ธฐ๋ฅ์ผ๋ก ๋๋์ด ๋ถ์ ํํ๋ค. - commit์ C/R/U/D ๊ธฐ๋ฅ๋จ์๋ก ๋ฌถ๊ณ [์ปค๋ฐ๋ถ๋ฅ] #์ด์ ๋ฒํธ ์ปค๋ฐ ๋ฉ์์ง ํ์์ผ๋ก ๋ง๋ ๋ค. ex:[feat] #1 ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค.
- ๋ชจ๋ PR์ ๋ฐ๋์ ์ง์ ํ ๋ฆฌ๋ทฐ์ด์๊ฒ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์์ผ๋ง ํฉ๋๋ค.
- ๋ฆฌ๋ทฐ์ด ์ค ๋ชจ๋ ๋ฆฌ๋ทฐ์ด์
Approve๋ฅผ ๋ฐ์์ผMerge pull request๋ฅผ ํ ์ ์์ต๋๋ค. - ๋ชจ๋ PR์ Github Action์ CI/CD๋ฅผ ํต๊ณผํ๊ณ ํต๊ณผ๊ฐ ๋์ด์ผ
Merge pull request๋๋ค.
- ์ ํด์ง ์ปค๋ฐ ์ปจ๋ฒค์ ๊ณผ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ์ง์ผ ์ผ๊ด์ฑ์ ์ ์งํฉ๋๋ค.
- ํฉ์๋์ง ์์ ์ฝ๋๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ํํฐ๋งํฉ๋๋ค.
- ํ์ ์ ์์ ์น์ธ์ด ์์ด์ผ, Merge๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ์ค์ (10์ - 13์)์ PR์ ๋ํด ํ์ ์ ์์ด ๋ฆฌ๋ทฐํฉ๋๋ค.
- ๋ฆฌ๋ทฐ๋ ์ฐ์ ์์๋ฅผ ์ ํ์ฌ, ๋ค๋ฅธ ์์ ์ ์ํฅ์ ์ค ์ ์๋ ๊ฒ ๋ถํฐ ์ฐจ๋ก๋๋ก ์งํํฉ๋๋ค.
- ๋ฆฌ๋ทฐ๋ ์์นจ ํ์์์ ๊ฒฐ์ ๋ ์ฐ์ ์์๋๋ก ์งํํ๋ฉฐ, ๋ฆฌ๋ทฐ ์ดํ์ Merge๋ฅผ ํ ๋ฒ์ ์งํํฉ๋๋ค.
[feat]: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ[fix]: ๋ฒ๊ทธ ์์ [docs]: ๋ฌธ์ ์์ [build]: ๋น๋ ๊ด๋ จ ํ์ผ ์์ [style]: ์ฝ๋ ํฌ๋งทํ , ์ฝ๋ ์์ฒด์ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ[refactor]: ์ฝ๋ ๋ฆฌํฉํ ๋ง[test]: ํ ์คํธ ์ฝ๋ ์ถ๊ฐ[merge]: ๋ณํฉ[design]: CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ[comment]: ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ[rename]: ํ์ผ, ๋ณ์, ๋ฉ์๋, ํด๋๋ช ์ ์์ ํ๋ ๊ฒฝ์ฐ[remove]: ์ฌ์ฉํ์ง ์๋ ํ์ผ ํน์ ํด๋๋ฅผ ์ญ์ ํ๋ ๊ฒฝ์ฐ
Naver Hackday Java Coding Convention
Details
- ์ฃผ์์ ํ ์ค๋ก ์ ๋ฆฌ ๊ฐ๋ฅํ๋ค๋ฉด
//๋ฅผ ์ฌ์ฉํ๊ณ ์ํฐ๋ฅผ ํตํด ์ค์ด ๋์ด๊ฐ์ผ ํ๋ ๊ฒฝ์ฐ/**/๋ฅผ ์ฌ์ฉํ๋ค. - Service ๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ค.
- Service ์ธ์๋ก ๋ฐ๋ ๊ฒ์ DTO ์ฌ์ผํ๊ณ , ๋๋ ค์ฃฝ์ด๋ ๋ฐ๋ ์ผ์ด ์๋ ๊ฐ์ ์ปจํธ๋กค๋ฌ DTO๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ค.
- DTO๋ ๋งค๊ฐ๋ณ์์ ์ซ์์ ๊ด๊ณ์์ด ์์ฑํ์ฌ ์ ๋ฌํฉ๋๋ค.
- DTO๋ ๋งค๊ฐ๋ณ์ 2๊ฐ ์ด์์ผ ๊ฒฝ์ฐ์๋ง ์์ฑํ์ฌ ์ฌ์ฉํ๋ค.
- ๋จ, InternalService๋ DTO๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
- ๋ฉ์๋ ๋ช
์
๋์ฌ + ๋ช ์ฌ์ ์กฐํฉ์ผ๋ก ์ฌ์ฉํ๋ค. - DTO ๋ค์ด๋ฐ์ ๋ฉ์๋ ๋ค์ด๋ฐ + ๋ ์ด์ด๋ค์(Service, Controller) + Response/Request ๋ก ํ๋ค.(DTO ๋บ๋ค)
- ex)
XxxControllerRequest, XxxServiceResponse, XxxServiceRequest
- ex)
- ๋ณธ์ธ์ด ์๊ฐํ์ ๋ ๋ฐ๋ ์ผ์ด ์๋ ๊ฒ์ ๋ ์ด์ด ๋ค์์ ์ ์ธํ๋ค.
- ex)
XxxRequest, XxxResponse
- ex)
- ์๋น์ค ๋ ์ด์ด ๋ด๋ถ์์ ์ฌ์ฉํ ์ํฐํฐ๋ฅผ return ํ๋ ๋ฉ์๋๋ฅผ ์๋น์ค ๋ด์ _๋ก ์ ์ํ์ฌ ์ฌ์ฉํ๋ค.
- ex) _getUser, _getReservation โ Entity๋ฅผ ๋ฐํ
- ex) getUser, getReservation โ Dto๋ฅผ ๋ฐํ
- ํ๋์ ๋งค๊ฐ๋ณ์๊ฐ ์ ์ธ๋์ด ์๋ ๊ฒฝ์ฐ : get, create, update, delete + by + ๋งค๊ฐ๋ณ์ ๋ช
- 2๊ฐ ์ด์ ๋ณต์์ ๋งค๊ฐ๋ณ์๊ฐ ์ ์ธ๋์ด ์๋ ๊ฒฝ์ฐ : get, create, update, delete + ์ ๋ฌ๋๋ ๋งค๊ฐ๋ณ์๋ฅผ ํ ๋จ์ด๋ก ์ถ์ฝํ์ฌ ์ฌ์ฉํ๋ค.
- ๋ณต์ ๋ณ์๋ช : ~s(o), ~List(x)



