
314
Part 2
엔지니어링
코딩할 때, 적절한 코드 디자인이 팀의 인지 범위를 넘어 보이지 않는 경우가 있습니다.
이런 경우에는 잘못된 추상화를 만드는 것보다 추상화가 없더라도 가능한 한 가장 단순
하게 하는 것을 선호해야 합니다. 이성적으로나 감성적으로도 적절한 추상화 단계를 생
각할 수 있을 때 만드는 것이 기존의 잘못된 디자인을 분해하고 다시 만드는 것보다 훨
씬 저렴합니다.
그러나 적절한 디자인을 고안하러 돌아오는 것을 잊지 마세요. 그렇지 않으면 디자인은
‘빅 볼 오브 머드
big
ball
of
mud
’
18
가 될 것입니다. 빅 볼 오브 머드란, 브라이언 풋
Brian
Foote
과
조셉 요더
Joseph
Yoder
가 정의한 ‘무질서한 구조로, 엉성하게 제멋대로 뻗어 나가 곳곳을 접
착제와 철사로 얼기설기 이어 붙인 스파게티 코드 정글’ 상태입니다.
앞의 리팩터링 휴리스틱과 지침들로 무장을 하고 나면, 여러분은 이제 문제가 있는 코드베이
스를 리팩터링할 준비가 되었습니다!
8.2
노트북(또는 문제가 있는 코드베이스) 리팩터링 방법
우리의 코드베이스를 물리적인 작업장으로 생각한다면, 필요한 도구나 재료를 찾기 어렵거
나 물건에 걸려 넘어질 때 문제가 있다는 것을 알 수 있습니다. 코드에서는 이것이
200
줄이
나 되는 함수를 이해하려 애쓰거나, 수정하려는 로직이나 ...