전체 글669 자바 코드 리팩토링: 객체에게 꼬치꼬치 묻지 말고 시켜라 - 종속적인 관계가 아닌 자율적인 관계 유지하기 문제점 다음과 같은 Coupon Legacy 코드가 있다고 치자. @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class CouponLegacy { private long id; private boolean used; private double amount; private LocalDate expirationDate; public CouponLegacy(double amount, LocalDate expirationDate) { this.amount = amount; this.expirationDate = expirationDate; this.used = false; } } 해당 객체는 실제로 엔티티지만 별도의 로직을.. 2023. 7. 9. 자바 코드 리팩토링: 객체의 협력 관계를 디자인해보자. 문제점 다음과 같은 주문 객체가 있다고 해보자. public class OrderLegacy { private long id; // KAKAO, SMS, EMAIL 등 메세지 플랫폼등이 있음 private String messageTypes; public OrderLegacy(String messageTypes) { this.messageTypes = messageTypes; } public String[] getMessageTypes() { return messageTypes.split(","); } } 이 코드의 문제점은 무엇일까? messageType에 다양한 플랫폼들이 적용되어야 하며 여러 케이스에 대한 검증이 필요하다. 다음과 같은 경우이다. @Test public void KAKAO를_KAOK.. 2023. 7. 9. 스프링 프로젝트 API Server Error 처리하기 1. 통일된 Error Response를 갖게 하자. 문제점 통일된 Response를 갖지 않으면 ... 클라이언트 쪽에서 서로 다른 형식의 Error Response를 처리해야 한다. -> 추가적인 작업과 오류 처리 로직이 필요하게 된다. 제안 다음과 같은 형식의 Error Response 형식을 고려해볼 수 있다. { "message": "Invalid Input Value", "status: 400, // "errors": [], 비어 있을 경우 null이 아닌 빈 배열을 넘긴다. "errors: [ { "field": "name.last", "value": "", "reason": "must not be empty", }, { "field": "name.first", "value": "", "re.. 2023. 7. 9. 자바 코드 리팩토링: @Builder 애노테이션을 클래스 상단에서 사용하는 것을 지양하자 @Builder 애노테이션을 클래스 상단에서 사용하는 것을 지양하자 문제점 - @Builder를 클래스 상단에서 사용하면 해당 클래스의 모든 필드에 대해 빌더 패턴이 적용된다. -> 일부 필드에는 불필요한 빌더 메서드가 생성될 수 있다. 다음과 같은 코드를 보자. @Builder public class Person { private int id; private String name; private int age; private String address; private LocalDateTime createdAt; // ... (생략) } 이때 Person이 entity라면 Jpa를 사용하는 프로젝트에서 다음과 같은 애노테이션을 사용할 것이다. @Builder public class Person { @.. 2023. 7. 7. [독서 기록] 디깅, 박치은 지음 디깅(Digging) 프로 n잡러, 인디펜던트 워커, 긱워커Gig Worker, 단기로 계약을 맺고 프로젝트 단위로 일하는 근로자, 1인기업이라는 단어가 낯설지 않은 멀티 커리어리즘의 시대다. 주 소득원이 ‘급여’ 밖에 없던 과거와 달리 돈을 벌 수 있는 다양한 창구와 선택지가 널려 있다. 이런 현상을 반영하듯 SNS에는 “누구나 경제적 자유를 누릴 수 있다”라는 광고가 넘쳐난다. ‘스마트 스토어로 월 300만 원 벌기’ ‘블로그로 월 100만 원 벌기’ ‘연봉 2,000만원 받던 내가 월 1,000만 원을 버는 이유’ 등 어그로성 제목마저 식상해진 요즘이다. 이들은 포트폴리오만 제대로 구축하면 아프리카나 알래스카에서도 수익을 창출할 수 있다며 끊임없이 “회사 밖으로 나가라”고 부추긴다. “야, 너도 할.. 2023. 7. 7. 이전 1 ··· 46 47 48 49 50 51 52 ··· 134 다음