코드 컨벤션

- [인텔리제이 네이버 코드 컨벤션] ⭕️
    - <https://bestinu.tistory.com/64>
		- 가독성 향상 & 오류를 발생시키는 잠재적 위험 요소를 줄여준다.  (이유)
		
- 정적 팩터리 메서드 ⭕️

- (record) 2표 레코드의 장점 (getter, Lombok) ⭕️
    - post : request, response → request : (createDto)
    - comment
    
- 매개변수 4개 이상일 때 빌더사용 2표 → 솔문 님 무조건 빌더 1표 예은님 솔문님 장점이 있나요? (보류)
- 주석 보다는 메서드 명을 명확하게 작성하기 → findByComment_IdAnd //진짜 알아보기 힘들 떄
    1. 의미없는 주석을 달지 말자는 말입니다.
    2. 메서드 명을 통해 의도를 드러내기 어려운 경우에만 작성하자.
    
- 함수 명 작성할 때 동사 + 명사 (당연)
- 리턴 값이 boolean일 때 is로 시작하기. (당연)
- 검증 관련 메서드는 validate로 시작하기. 굿
- 코드길이가 120자를 넘기지 않는다. : 굿
- 클래스는 상수, 멤버 변수, 생성자, 메서드 순으로 작성한다. (너무 당연한거죠)
- enum → Hash로 enum 최적화 해주기 (풀스캔 x /     O(1)) → 동의하시나요 ? 과반수 동의
- 아키텍처 구조 (계층형)
- 하나의 메서드가 하나의 책임을 갖도록 노력해 주세요. if문 남발 X (하지만 하나의 메서드 역할이 많은 If문을 요하는건 괜찮습니다)
- ( 프로젝트 셋팅 할 줄 아시는분 yml파일 분리하기, 깃 이그노어 추가하기, )
- BaseTimeEntity → createdAt → 이것만 하겠습니다.
- createdAt → Auditing 적용해주기 (날짜 정보를 받지 않아도 엔티티 createdAt( 실제 지금 날짜가 저장됩니다. 설정만 해두면)
- local yml 파일 → h2(디벨롭 브렌치) 추후 메인브렌치 (MySQL)
- 1:N,  다대다 관계에서 (양방향을 선호하시는 분이 있는지)

→ N에 외래키 넣어주시고 다대다 연관관계테이블 만들어 주세요

1:1 경우는 회의를 통해 어디다 넣을지 정하면 될 것 같아요 

( 메서드를 만들지 않아도 findById( ) 가능 ) save, delete 

의존성

- Validation
- Lombok
- Sequrity
- JWT
- H2
- starter JPA

폴더구조

com.thinktank
├── api
│   ├── controller
│   ├── dto
│		│		├── post
│		│		│		├── request 
│		│		│		└── response
│		│		├── user
│		│		│		├── request
│		│		│		└── response
│		│		├── comment
│		│		│		├── request
│		│		│		└── response
│		│		├── judge
│		│		│		├── request
│		│		│		└── response
│		│		└── like
│		│				├── request
│		│				└── response
│   ├── entity
│   ├── repository
│   └── service
└── global
    ├── common
		│		 └── util
    ├── error
		│    ├── exception
		│    ├── handler
		│    └── model
    ├── auth
    │    ├── filter
    └── config

2. git branch 이름

main : 메인 -> organization main
feat/#이슈번호 : 개발 브랜치 -> 원격 

3. git commit message

feat: 기능개발
refactor: 리팩토링, 간단 수정
fix: 버그 수정
test: 테스트 코드
docs: 문서 수정

4. 메서드 명

null 이 있을 수 있다. → findMember

null이 없고 무조건 값이 있다. → getMember

5. 이슈 템플릿

<!-- assignee는 본인으로, milestone 링크하기, 라벨 달기 잊지마세요-->
## 기능 설명
<!-- 추가하려는 기능에 대해 간결하게 설명해주세요-->
- 

## 작업 상세 내용
- [ ] 
- [ ] 
- [ ] 

## 주요 포인트
-

## 기타 사항 (선택)
-