Naver-Coding-Convention
https://naver.github.io/hackday-conventions-java/ ๊ธฐ์ค์ผ๋ก ํ๋ค.
IntelliJ IDEA ์ปจ๋ฒค์
์ ์ฉ ์ฐธ๊ณ ๋งํฌ
TL; DR; (Too Long Didnโt Read)
1. ์ฝ๋ฉ ๊ท์น ์ ํ๊ธฐ
2. Branch์ ์ปค๋ฐ์ด๋ฆ์ ์ด์๋ฒํธ prefix๋ก ์ ๊ธฐ
3. PR๊ณผ ์ปค๋ฐ์ ์ต๋ํ ์์ ๋จ์๋ก ์ชผ๊ฐ๊ธฐ
4. GitHub ํ
ํ๋ฆฟ์ผ๋ก PR๋ด์ฉ ๊ท๊ฒฉํ
5. ๋ผ๋ฒจ ํ์ฉํ๊ธฐ
6. ๋ฆฌ๋ทฐ์ด๊ฐ ๋น๋ ์ฑ๊ณต์ฌ๋ถ/์ฝ๋ฉ์ปจ๋ฒค์
ํ์ธํ์ง ์๊ธฐ
7. ์ฝ๋๋ฆฌ๋ทฐ ๋ด์ฉ ๋ฐ์ํ ๋๋ง๋ค ์ปค๋ฐ id๋จ๊ธฐ๊ธฐ
Plain Text
๋ณต์ฌ
Entity
โข
@Setter ์ฌ์ฉ ๊ธ์ง
โข
์ธ์๊ฐ ๋๋ฌด ๋ง์์ ๊ธธ์ด์ง๋ค๋ฉด, ๊ฐ ์ธ์๋ณ๋ก ์ค๋ฐ๊ฟ ํด์ฃผ๊ธฐ
โข
request โ entity
User.of(UserCreateRequest)
userService ์์ User.of(request)
โข
entity โ response
response.from(entity)
Response
โข
Custom ResultCode ์ฌ์ฉ
โฆ
Custom ResponseEntity ์ฌ์ฉ
โช
code : ์๋น์ค ์ฝ๋๊ฐ
โข
๋๋ฉ์ธ ์ฒซ ๊ธ์ ๋๋ฌธ์ + 0(์ฑ๊ณต) / 1 (์คํจ) + XX ( 0~99 ํ์ ๊ธฐ๋ฅ) + XX (0~99 ์๋ณ์๊ฐ )
์์ : ํ์๊ฐ์
์ฑ๊ณต - U00100 / ์คํจ (์์ด๋ ์ค๋ณต) - U10100
๋ก๊ทธ์ธ ์ฑ๊ณต - U00200 / ์คํจ (๋ก๊ทธ์ธ ์ ๋ณด ๋ค๋ฆ) - U10200
โช
message : ์๋ต ๋ฉ์์ง
โช
data : ์๋ต ๋ฐ์ดํฐ
โข
api 1๊ฐ๋น dto 1๊ฐ์ฉ (req, res)
โฆ
๋จ๊ฑด ์กฐํ @Pathvariable ์ฌ์ฉ
โช
์์ฒญํ ๋ฐ์ดํฐ๊ฐ 1๊ฐ์ผ ๊ฒฝ์ฐ๋ง ํด๋น
โช
2๊ฐ ์ด์์ Dto์ ๋ด์์ ์์ฒญ
์ด๋ฆ (Naming)
1. ์๋ณ์์๋ ์๋ฌธ/์ซ์/์ธ๋์ค์ฝ์ด๋ง ํ์ฉ
2. ํ๊ตญ์ด ๋ฐ์๋๋ก์ ํ๊ธฐ ๊ธ์ง
3. ํจํค์ง ์ด๋ฆ์ ์๋ฌธ์๋ก ๊ตฌ์ฑ
4. ํด๋์ค/์ธํฐํ์ด์ค ์ด๋ฆ์ ๋๋ฌธ์ ์นด๋ฉํ๊ธฐ๋ฒ ์ ์ฉ
5. ํด๋์ค ์ด๋ฆ์ ๋ช
์ฌ ์ฌ์ฉ
6. ์ธํฐํ์ด์ค ์ด๋ฆ์ ๋ช
์ฌ/ํ์ฉ์ฌ ์ฌ์ฉ
7. ํ
์คํธ ํด๋์ค๋ 'Testโ๋ก ๋๋จ
8. ๋ฉ์๋ ์ด๋ฆ์ ์๋ฌธ์ ์นด๋ฉํ๊ธฐ๋ฒ ์ ์ฉ
9. ๋ฉ์๋ ์ด๋ฆ์ ๋์ฌ/์ ์น์ฌ๋ก ์์
10. ์์๋ ๋๋ฌธ์์ ์ธ๋์ค์ฝ์ด๋ก ๊ตฌ์ฑ
11. ๋ณ์์ ์๋ฌธ์ ์นด๋ฉํ๊ธฐ๋ฒ ์ ์ฉ
12. ์์ ๋ณ์ ์ธ์๋ 1 ๊ธ์ ์ด๋ฆ ์ฌ์ฉ ๊ธ์ง
13. static import์๋ง ์์ผ๋ ์นด๋ ํ์ฉ
๋ณด๋ฅ
Checkstyle ํ๋ฌ๊ทธ์ธ ์ค์
์๋์ ๊ฐ์ด `build.gradle`์ ์ ์ธํ๋ค.
plugins {
id 'checkstyle'
}
checkstyle {
maxWarnings = 0 // ๊ท์น์ด ์ด๊ธ๋๋ ์ฝ๋๊ฐ ํ๋๋ผ๋ ์์ ๊ฒฝ์ฐ ๋น๋ fail์ ๋ด๊ณ ์ถ๋ค๋ฉด ์ด ์ ์ธ์ ์ถ๊ฐํ๋ค.
configFile = file("${rootDir}/naver-checkstyle-rules.xml")
configProperties = ["suppressionFile" : "${rootDir}/naver-checkstyle-suppressions.xml"]
toolVersion ="8.24" // checkstyle ๋ฒ์ 8.24 ์ด์ ์ ์ธ
}
JavaScript
๋ณต์ฌ

