- ์ด์ ์์ฑ ์ ์งํํ๊ณ ์ ํ๋ task์ ๋ง์ถฐ์ Get started
- ์ด์ title: [ํ์
] + ์ค์ ์ํํ task ๋ชฉ๋ก
ex) [Feat] API ์๋ต base code ๊ตฌํ
- ์ด์ description: ์งํํ task ์์ ๋กญ๊ฒ ์์ฝ
- Development์ Create a branch๋ก ๋ธ๋์น ์์ฑ
- [ํ์ ]/#์ด์๋ฒํธ
ex) feature/#5
๐ข ๊ฐ ๋ธ๋์น์์ main์ผ๋ก PR ์ฌ๋ฆฌ๊ธฐ
๐ข PR ์์ฑ ํ ํ์ 2๋ช
์ด์์๊ฒ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์์ผ merge ๊ฐ๋ฅ
๐ข PR ๋ด์ฉ์ ์๋์ ํ
ํ๋ฆฟ์ ์ฌ์ฉํ๋ค
ex) #์ด์๋ฒํธ, #์ด์๋ฒํธ
์ด๋ฒ PR์์ ์์ ํ ๋ด์ฉ์ ๊ฐ๋ตํ ์ค๋ช ํด์ฃผ์ธ์(์ด๋ฏธ์ง ์ฒจ๋ถ ๊ฐ๋ฅ)
๋ฆฌ๋ทฐ์ด๊ฐ ํน๋ณํ ๋ด์ฃผ์์ผ๋ฉด ํ๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์์ฑํด์ฃผ์ธ์
ex) ๋ฉ์๋ XXX์ ์ด๋ฆ์ ๋ ์ ์ง๊ณ ์ถ์๋ฐ ํน์ ์ข์ ๋ช ์นญ์ด ์์๊น์?
โ
๋ค์ฌ์ฐ๊ธฐ๋ 4์นธ
โ
indent depth(๋ค์ฌ์ฐ๊ธฐ)๋ ์ต๋ํ 2๊น์ง ๋ง์ถ๋๋ก(๋ฐ๋ณต๋ฌธ ๋จ์ฉ ๊ธ์ง)
โ
ํด๋์ค๋ช
์ PascalCase, ๋ฉ์๋์ ๋ณ์๋ camelCase
โ
์ฃผ์ ์์ฑ ์ "ํด๋์ค์ ๋ฉ์๋"์๋ Javadoc ์คํ์ผ ์ฌ์ฉ
๐กExample
/**
* ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ID๋ก ์กฐํํฉ๋๋ค.
*
* @param userId ์กฐํํ ์ฌ์ฉ์์ ID
* @return ์ฌ์ฉ์ ์ ๋ณด
*/
โ
์ฝ๋ ๋ด ์ฃผ์์ ํ์ ์ ์ถ๊ฐ, ๋ถํ์ํ ์ฃผ์์ ์ ๊ฑฐ
- ํด๋์ค ๋ ๋ฒจ์ ์ ๋
ธํ
์ด์
์์๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ๋ค
1) @Controller, @Service, @Repository ๋ฑ ์ฃผ์ ์ญํ ์ง์ 2) @RequestMapping, @GetMapping, @PostMapping ๋ฑ HTTP ๊ด๋ จ ์ ๋ ธํ ์ด์ 3) ๊ธฐํ(์: @Transactional, @Cacheable)
- Spring์์๋ ์์ฑ์ ์ฃผ์ ์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ฉฐ, @Autowired ํ๋ ์ฃผ์ ์ ์ง์
- HTTP ์๋ต ์ฝ๋๋ ๋ช ํํ ์ค์ ํ๊ณ , ๋ฐํ ํ์ ์ผ๋ก๋ DTO ์ฌ์ฉ
- DTO๋ ์ธ๋ถ์ ๋ ธ์ถ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ฉฐ, Entity๋ ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งคํ
- Entity๋ฅผ ์ง์ ์ปจํธ๋กค๋ฌ์์ ๋ฐํํ์ง ๋ง๊ณ , ์๋น์ค ๊ณ์ธต์์ ๋ณํ