2023년 5월 4주차 주간회고

 

Facts (사실, 객관)

  • 현재 5, 6주 차 데브노트가 밀린 시점 이번 주 7주 차는 밀리지 않았다. 더 이상 밀리면 지옥뿐..
  • 기존 레거시 코드를 리팩터링 하기 위해 제네릭 상속, 와일드 카드에 대한 학습 시간을 많이 사용했다. 어찌어찌 추후 확장성을 고려해리팩터링을 하긴 했지만 제대로 했는지는 다음주에 코드 리뷰를 받아봐야 알 것 같다.
  • 이펙티브 자바를 읽는 중이다. (차례대로 읽는 건 지루해서 목차보고 궁금한 거 위주로 읽는 중)

 

Feelings (느낌, 주관) & Findings (배운 점)

  • @EmbeddedId 어노테이션을 선언해 준 필드 객체는 Serializable 인터페이스를 구현해야 직렬화를 보장할 수 있다.
  • 코드의 중복을 줄이고자 와일드카드를 이용해 추상 메서드를 만들어 추상 메서드를 구현하려 했지만 구현부에서 제네릭 타입 소거 문제가 발생해서 추상 클래스에 이름이 다른 두 개의 추상 메서드를 선언해서 구현부에서 상황에 맞게 구현하려고 했지만 해당 클래스를 상속받는 클래스에서 불필요하게 오버라이드 해야 하는 문제가 발생했다. 결국 중복 코드가 발생하는 굴레에서 벗어날 수가 없었는데 추상 클래스가 아닌 인터페이스로 변경을 해 메서드를 강제로 구현해야 하는 게 아닌 필요에 따라 구현하도록 변경했다. 기존에 작성된 코드가 추상 클래스라 추상 클래스를 사용해야 한다는 생각이 있었는데 레거시 코드를 리팩터링 할 때는 기존 코드의 틀을 깨고 다양한 방법을 생각해 보자.

 

Affirmation (자기 선언)

  • 사소한 거라도 꾸준히 개발일지(업무일지)를 작성하자. 기록만이 살길
  • 8주 차 진도 밀리지 않기 (+ 5, 6주 차 데브노트 빠진 곳 정리하기)

'성장이야기 > 주간회고' 카테고리의 다른 글

2023년 6월 2주차 주간회고  (0) 2023.06.11
2023년 6월 1주차 주간회고  (0) 2023.06.04
2023년 5월 3주차 주간회고  (0) 2023.05.21
2023년 5월 2주차 주간회고  (0) 2023.05.14
2023년 5월 1주차 주간회고  (1) 2023.05.07