Skip to content

Commit d510d58

Browse files
authored
14장 최호 (#31)
1 parent 3609b5f commit d510d58

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

14장/최호.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Part 14: 점진적인 개선
2+
3+
4+
## 내용
5+
6+
14-8 코드를 보면 코드가 엉망이라고 한다.
7+
- 인스턴스 변수의 개수
8+
- TILT와 같은 이상한 문자열
9+
- HashSets, TreeSets, try-catch-catch 블록 등
10+
11+
Boolean 인수만 지원하던 초기버전은 괜찮았는데
12+
여러 타입의 인수들을 추가로 받으면서 코드가 복잡하고 지저분해졌다. 하나의 인수를 추가할 때마다 여러 곳의 코드를 수정해야 하는 등 확장성이 모자랐다.
13+
14+
TDD는 언제 어느 때라도 시스템이 돌아가야 한다는 원칙을 따른다.
15+
16+
새로운 인수 유형을 추가할 때 코드가 중복되는 문제점을 해결하기 위해 ArgumentMarshaler라는 새로운 개념을 도입했다.
17+
18+
에러 메시지 생성 책임을 ArgsException 클래스로 이전한다.
19+
20+
코드가 더 나빠지기 전에 기능을 추가하는 것을 멈추고 리팩터링을 한다.
21+
22+
## 느낀 점
23+
- 사실 지금 프로젝트 리팩토링들을 멈추고 있는건 테스트 코드가 없어서 문제가 많이 일어나서가 아닐까..?
24+
- 테스트 코드를 공부해봐야겠다.
25+
- 여러 백엔드 중 nest를 공부하는 이유도 jest로 테스트를 하기 때문에 좀 더 도움이 되지 않을까라는 생각도 있다.

0 commit comments

Comments
 (0)