공통 피드백
불변 객체 - Record 활용하기
불변 객체를 만들 때 Record를 사용하면 편리합니다. Record는 불변뿐만 아니라 getter, toString, equals, hashcode 등을 자동으로 구현해주므로 데이터 객체로서 명확한 의미를 가집니다.
예시:
public class ReservationRequest {
private final String name;
private final String date;
private final String time;
}
// 또는
public record ReservationRequest(
String name,
String date,
String time
) {}
Lombok 사용 고민하기
외부 라이브러리인 Lombok을 사용할 때는 충분한 고민 후 도입해야 합니다. 단순히 getter를 사용하기 위해 Lombok에 의존성을 추가하는 것이 적절한지 생각해보아야 합니다.
검증 위치
사용자 요청에 대한 검증이 어디서 이루어져야 하는지 고민해야 합니다.
예시:
- 존재하지 않는 예약에 대한 접근
- 예약 추가 시, 날짜 형식이 틀린 경우
(1) → DB 조회 후 알 수 있음
(2) → 단순 요청으로도 검증이 가능
Fail-fast 관점도 고려해보아야 합니다.
정적 팩토리 메서드
생성자에 많은 로직이 포함된다면, 의미를 부여하기 위해 정적 팩토리 메서드를 사용해보세요.
예시:
public class Reservation {
private final String name;
public Reservation(String name) {
validateName(name);
validateDuplication(name);
this.name = name;
}
}
new Reservation("kokodak");
// 또는
public class Reservation {
private final String name;
private Reservation(String name) {
this.name = name;
}
public static Reservation withValidation(String name) {
validateName(name);
validateDuplication(name);
return new Reservation(name);
}
}
JDBC (Java Database Connectivity)
데이터베이스 접근을 위한 자바 표준 API입니다. 이를 통해 데이터베이스와 상호작용할 수 있습니다.
'멋쟁이사자처럼 동아리 > 공통피드백' 카테고리의 다른 글
7주차. 인증 (0) | 2024.06.22 |
---|---|
6주차 Spring core (0) | 2024.06.22 |
4주차. 스프링 MVC (0) | 2024.06.22 |
3주차. 클린코드 (0) | 2024.06.22 |
2주차. 단위테스트 (0) | 2024.06.22 |