😀 책에서 기억하고 싶은 내용을 써보세요.
private void setBooleanArg(ArgumentMarshaler m) {
try {
m.set("true"); // 이전 코드: booleanArgs.get(argChar).set("true");
} catch (ArgsException e) {
}
}
- 변경 전 booleanArgs.get(argChar).set("true"); 코드
- 위 코드는 클린코드 6장에 나왔던 기차 충돌 코드 사례와 비슷하게 생겼습니다.
- 변경 후 코드가 훨씬 간결해졌습니다.
- 리팩터링을 하다보면 코드를 넣었다 뺐다 하는 사례가 아주 흔하다.
- 단계적으로 조금씩 변경하며 매번 테스트를 돌려야 하므로 코드를 여기저기 옮길 일이 많아진다.
=> 리팩터링은 루빅 큐브 맞추기와 비슷하다.
=> 큰 목표 하나를 이루기 위해 자잘한 단계를 수없이 거친다.
=> 각 단계를 거쳐야 다음 단계가 가능하다.
- 단계적으로 조금씩 변경하며 매번 테스트를 돌려야 하므로 코드를 여기저기 옮길 일이 많아진다.
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
- 이 챕터를 읽고 저자는 한번에 완벽한 코드를 작성할 수 없다는 것을 보여주는 것 같았습니다.
=> 챕터 제목 그대로 점진적인 개선을 보여주고 있습니다. - 모든 코드를 다 리팩터링 하고 테스트를 돌려보는 방식이 아녔습니다.
=> 한 부분을 리팩터링 하고 테스트를 돌리는 과정이 많았습니다. - 이전 장에서 배웠던 내용을 코드에 적용해 하나씩 리팩터링 하는 게 인상 깊었습니다.
🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 코드가 엄청 방대해서 전체를 다 이해하기는 힘들다고 느꼈습니다.
=> 눈으로만 읽고 생각해서 그런지 가독성이 안 좋았습니다.
👀 소감 3줄 요약
- 큰 목표 하나를 이루기 위해 자잘한 단계를 수없이 거친다.
- 점진적인 개선과 리팩터링
- 저자도 계속해서 리팩터링 과정을 거치면서 깨끗한 코드를 만들어가는 과정이 인상 깊었습니다.
반응형