1. 이번주 공통 피드백에서 인상 깊었던 것에 생각 붙이기
인상 깊었던 부분 위주로만 짧게 정리하고 내 생각(
)을 덧붙이겠다.
•
비즈니스 로직과 UI 로직 분리 (단일 책임 원칙)
◦
현재 객체의 상태를 보기 위한 로그 메시지 성격이 강하다면 toString() 사용
◦
View에서 사용할 데이터라면 getter 메서드 통해 데이터 전달
◦
•
연관성 있는 상수는 static final 대신 enum 활용
◦
•
인스턴스 변수 수를 줄이기
◦
•
성공이랑 예외 둘다 테스트하기. 특히 경계값 부분
◦
•
테스트코드도 리팩터링 하기. 특히 중복 코드 제거
◦
•
테스트를 위한 편의 메서드는 구현 코드에 구현하지 않기
◦
•
단위 테스트가 어려운 코드 리팩토링 → 테스트 하기 어려운 것을 클래스 내부가 아닌 외부로 분리
◦
•
테스트 쉽게 구현하기 위해 가독성 이상의 일을 하는 private 함수를 테스트하고 싶다면 이는 객체 분리의 신호
◦
2. 이번주 코수타를 보고 든 생각 정리하기
•
디자인 패턴에 대해
◦
2주차에 썼다가 뒤늦게 yagni 원칙에 위반한단 걸 알게 됐었다. 따라서 3주차엔 최대한 yagni 원칙을 위반하지 않게 생각하려 하다보니 자연스레 사용하지 않게 됐었다.
◦
코수타에서도 해당 과제에선 디자인 패턴에 대해 권장하지 않는단 걸 보고 잘 따라가고 있었구나 라고 생각했다.
•
mvc1과 mvc2
◦
mvc1을 1주차부터 써왔다.
◦
mvc 패턴을 썼을 때 다가온 장점은 controller가 모델과 뷰 사이에서 코드를 간결하게 정리해준 단 점이 컸다.
◦
그러다 지난 주차에 controller가 너무 비대해져 service 레이어가 추가된 mvc2를 적용해볼까 고민한 적이 있었다.
◦
하지만, 이는 도메인끼리 역할 분담이 제대로 되지 않아 발생한 일이었다 판단해 mvc2 도입은 적절치 않다 결정했다.
◦
이번 4주차에선 도메인끼리 적절히 메시지를 주고받게해 controller가 비대해지는 문제를 해결해보겠다.
Today in 프리코스
TIL 작성하기
몰입
코수타 듣고 느낀 점 적기
공통 피드백 보고 느낀 점 적기
Search