<aside> 📎 네이밍 컨벤션
<aside> 🥤
클래스는 PascalCase
로 작성합니다.
</aside>
<aside>
🐫 함수명, 변수명은 camelCase
로 작성합니다.
</aside>
<aside>
📁 패키지는 lowercase
띄어쓰기가 있을 때는 붙여서 네이밍한다.
</aside>
<aside>
🐍 상수는 UPPER_SNAKE_CASE
로 작성한다.
</aside>
<aside> 🥤
파일은 kebab-case
로 작성합니다.
</aside>
</aside>
<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 컨트롤러 | 서비스 메서드 명 → 도메인 명 빼고 동사만 작성
class MessageService() {
...
public MessageDto create(){
...
}
}
</aside>
<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 주석은 설명하려는 구문에 맞춰 들여쓰기 합니다.
// Good
function someFunction() {
...
// statement에 관한 주석
statements
}
</aside>
<aside> 🏁
할 사람은 TDD하되, 아닌 사람은 테스트 작성만 하기
</aside>
<aside> 🎉
인터페이스 이름 + Impl
채택 사유 : 인터페이스를 통한 추상화시 → 구현체 교체 용이성, 결합도 낮추기, 명세의 역할이란 장점을 가져갈 수 있기 때문 | 단점 : 번거로움이지만 장점을 채택함
</aside>
<aside> 🚨
로그 레벨의 위치
info: 메서드 시작과 종료
debug: 메서드 내부에서 자유롭게 작성
warn: 대부분의 예외 상황
error: 크리티컬한 오류 발견시 보고 후, 해당 부분에 error 로그 작성
로그 형식
<포맷>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%level] [%thread] %logger{1} - %msg%n</pattern>
<코드 메세지 템플릿>
log.info()
<aside>
log.info("메서드명 - 메서드 동작 한글 설명: 파라미터={}", 파라미터);
// e.g.
log.info("create - 유저 생성 시작: userId={}, email={}", userId, email);
</aside>
그외 레벨
<aside>
// e.g.
log.warn("유저 이메일 중복: email={}", email);
</aside>
<출력 예시>
2025-07-04 15:10:20.456 [INFO] [nio-8080-exec-1] UserService - create - 유저 생성 시작: userId=abc123, [email protected]...
</aside>