T_era
40일차 개인 프로젝트를 하면서 수정해야하는 나의 개발방식 본문
1. 오늘의 학습 키워드
고쳐야하는 나의 개발 과정
2. 학습 내용
개인 프로젝트를 진행하면서 어떠한 문제가 있는지 생각하고 정리해 보았다
3. 프로젝트를 진행하고 코드 리뷰를 해보며 정리한 내용
- 이그노어 관리 : 프로젝트를 원본그대로 올리게 되면서 개발과정에 숨겨야하는 정보가 노출되게 되어서 이 부분을 관리하는 이그노어를 작성해야한다.
* properties의 경우 환경변수를 통해 설정해줄 수도 있다
- api 반환타입의 일관성 : api 호출 결과를 반환할 때 반환 타입이 일정하지 않아서 사용자 입장에서 처리하게되면은 사용자의 프로젝트 자체가 이 api에 종속되게 된다.
- lombok 사용 최소화 : lombok을 사용하면 편하긴 하지만 코드 리뷰를 할 때 기능이 명확해지지 않는다. 예를 들면 다수의 생성자가 있는데 생성자 lombok을 사용하면 바로 찾기 힘들고 헷갈릴 여지가 많다 또 getter setter의 경우는 캡슐화를 망치는 상황이 생기기 때문에 사용하는 것은 지양하는 것이 좋을 것 같다.
- DTO클래스 관리 : 재사용이 가능하기 때문에 한가지 DTO를 사용해 보았는데 DTO의 어떤 내용이 어디서 사용되는지 명확하지 않게 되고 프로젝트 규모가 커질 수록 처리하기 난해해진다.
개인 프로젝트를 진행하면서 어떠한 문제가 있는지 생각하고 정리해 보았다
3. 프로젝트를 진행하고 코드 리뷰를 해보며 정리한 내용
- 이그노어 관리 : 프로젝트를 원본그대로 올리게 되면서 개발과정에 숨겨야하는 정보가 노출되게 되어서 이 부분을 관리하는 이그노어를 작성해야한다.
* properties의 경우 환경변수를 통해 설정해줄 수도 있다
- api 반환타입의 일관성 : api 호출 결과를 반환할 때 반환 타입이 일정하지 않아서 사용자 입장에서 처리하게되면은 사용자의 프로젝트 자체가 이 api에 종속되게 된다.
- lombok 사용 최소화 : lombok을 사용하면 편하긴 하지만 코드 리뷰를 할 때 기능이 명확해지지 않는다. 예를 들면 다수의 생성자가 있는데 생성자 lombok을 사용하면 바로 찾기 힘들고 헷갈릴 여지가 많다 또 getter setter의 경우는 캡슐화를 망치는 상황이 생기기 때문에 사용하는 것은 지양하는 것이 좋을 것 같다.
- DTO클래스 관리 : 재사용이 가능하기 때문에 한가지 DTO를 사용해 보았는데 DTO의 어떤 내용이 어디서 사용되는지 명확하지 않게 되고 프로젝트 규모가 커질 수록 처리하기 난해해진다.
- 중첩된 메서드 : 메서드 내부에 다른 메서드를 작성하는 방식은 가독성을 해치고 그 해당 메서드를 다시 확인하러 가는 과정이 필요하기 때문에 지양하는 것이 좋다. 그리고 메서드를 타고들어가는 과정은 아무리 많이 잡아도 3번이상은 안하는 것이 좋다
- 주석 : 메서드명 클래스명 등으로 직관적이게 알아볼 수 있으면 좋지만 마찬가지로 규모가 커질 수록 해석하기가 어려워질 여지가 있기 때문에 주석처리를 많이 생각해야한다.
- 무분별한 인터페이스 : 물론 확장가능성을 열어 놓기 위한 인터페이스 였지만 개발할 때는 사실상 틀에 맞추어 하려했던게 더 컸었기 때문에 인터페이스를 이용할 땐 왜 그렇게 해야하는지 고려해야한다.
- 주석 : 메서드명 클래스명 등으로 직관적이게 알아볼 수 있으면 좋지만 마찬가지로 규모가 커질 수록 해석하기가 어려워질 여지가 있기 때문에 주석처리를 많이 생각해야한다.
- 무분별한 인터페이스 : 물론 확장가능성을 열어 놓기 위한 인터페이스 였지만 개발할 때는 사실상 틀에 맞추어 하려했던게 더 컸었기 때문에 인터페이스를 이용할 땐 왜 그렇게 해야하는지 고려해야한다.
4. 내일 학습 키워드
JPA 학습하기
JPA 학습하기
'이론 > 오늘의 학습 내용 요약' 카테고리의 다른 글
| 42일차 JPA 실습해보기 (0) | 2025.05.16 |
|---|---|
| 41일차 Validation과 예외 처리 (0) | 2025.05.15 |
| 39일차 JavaDoc주석에 대하여 (0) | 2025.05.13 |
| 38일차 @Valid를 적용해 요청바디 검수하기 (0) | 2025.05.13 |
| 37일차 JDBC Templet을 활용한 프로젝트 작성하기 (0) | 2025.05.09 |