동건의 컨벤션
Convention에 대하여
지금까지 프로젝트를 진행하면서, 나만의 컨벤션에 대해 고민해 보지 않은 것 같습니다..
그렇기 때문에 항상 구글링 또는 다른 사람들의 코드를 보며 맞춰서 작성한 것 같아요
공부를 하면 할수록, 내 주장이 들어간 코드를 작성하고 싶은 욕구가 뿜뿜했습니다!!
그래서 이번 기회에 나만의 Convention!을 정해보자! 생각했습니다!
물론, 어떤 집단에 들어간다면 팀원과 함께 정해야겠지만요~
DATABASE
- DATABASE의 쿼리는 전부 소문자로 작성한다!
select * from member;
- DATABASE의 TABLE 네이밍 전략은 단수형을 사용한다!
create table member(
)
- DATABASE의 컬럼 네이밍 전략은 TABLE_COLUMN을 사용한다!
create table member(
member_id int,
member_name varchar
)
Spring Layer
기본적인 Layer 규칙은 아래와 같다! Member를 예시로!
- config
- error
+ exception
- common
- util
- member
+ application
+ presentation
+ infrastructure
+ domain
+ vo
+ converter
+ dto
+ request
+ response
+ bundle
Layer간 Data 통신
- View -> Controller (원시값을 가진 requestDTO) -> MemberSignRequestDto
- Controller -> Service (requestDto -> dto (원시값을 VO로 바꾼 DTO, 또는 원시데이터를 valid한 데이터!) -> MemberSignServiceDto
- Service -> Controller (dto -> responseDto) -> MemberSignResponseDto
아래의 방향대로~~
view -> controller
MemberSignRequestDto.java
MemberSignRequestDto(){
private String name;
private String age;
}
controller -> service
MemberSignServiceDto.java
MemberSignServiceDto(){
private Name name;
private Age age;
}
service -> controller
MemberSignResponseDto.java
MemberSignResponseDto(){
private String name;
private String age;
네이밍 전략!
- Controller
- sign, edit, insert, delete
- Service
- create, delete, update, find, findAll
- Repository
- JPA Naming 전략을 따른다.
허용되는 Lombok 사용
- @RequiredArgsConstructor
- @AllArgsConstructor
- @Builder (필드가 3개 이상이면!)
- @NonNull
Author And Source
이 문제에 관하여(동건의 컨벤션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dong_geon_kim/동건의-컨벤션저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)