We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3609b5f commit d510d58Copy full SHA for d510d58
14장/최호.md
@@ -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