[Project] 2차 프로젝트 - 팀 컨벤션

김호정's avatar
Oct 25, 2024
[Project] 2차 프로젝트 - 팀 컨벤션
 
2차 프로젝트 협업 연습한다 생각하고 즐거운 코딩 해보아요.
 
🐸
Git flow
🐦
Flutter
 
 
Repository
JpaRepository 인터페이스 구현해서 사용
클래스명
파스칼 표기법(PascalCase) : 첫 글자 대문자 + 이후 camelCase BoardController, BoardService, UserRepository BoardResponse 내부에 DTO클래스는 DTO를 끝에 ex) detailDTO
 
테스트 클래스명 & 테스트 메서드명
테스트 클래스 : 파스칼 표기법(PascalCase) + 끝에 Test ContentRepository -> ContentRepositoryTest 테스트 메서드 : 카멜 표기법(camelCase) + 끝에 _test() //given //when //then(혹은 //eye)
엔티티 테이블명&필드명
//엔티티 테이블 이름은 엔티티 클래스 이름끝에 _tb @Table(name = "user_tb") public class User { //필드는 카멜 표기법(camelCase) 사용 private String userId; private String userName; }
메서드 명 & 함수명
동사 + 명사 ex) findAll(), findById(), deleteReply()
 
생성자 주입
클래스에 @RequiredArgsConstructor 붙이고 주입할 멤버변수에 final 붙이기
 
엔티티에는 가능하면 Setter 빼기
예를 들면 User 엔티티에 Setter를 넣어서 username을 변경하는 것이 아니라 username은 상태이므로 상태는 setter가 아닌 기능을 통해 변경. changeName같은 메서드를 넣어놓고 이 기능을 통해 상태를 변경 //User엔티티 내부의 changeName 메서드 public void changeName(String username) { this.username = username; }
 
 
 
패키지 구조
A.B.C global -config -interceptor -error -util ... 엔티티1 -Entity -EntityController -EntityService -EntityRepository -EntityResponse -EntityRequest 엔티티2 . .
URI 전략
URI전략 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용 (member -> members // order -> orders) 주소에는 camelCase를 사용하지 않으므로 필요시 하이픈 연결 (joinForm -> join-form) • 회원 목록 조회(GET): /members • 회원 등록(POST) : /members • 회원 조회(GET) : /members/{id} • 회원 수정(PUT) : /members/{id} • 회원 삭제(DELETE) : /members/{id} • 회원 등록 폼(GET) : /members/new • 회원 수정 폼(GET) : /members/{id}/edit
 
Share article

keepgoing