728x90

1. 깨끗한 코드

프로그래밍은 과학보다 공예에 가깝다

깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다는 의미다


2. 점진적으로 개선하라

프로그램을 망치는 가장 좋은 방법 중 하나는 개선이라는 이름 아래 구조를 크게 뒤집는 행위다

어떤 프로그램은 그저 그런 개선에서 결코 회복하지 못한다

개선 전과 똑같이 프로그램을 돌리기가 아주 어렵기 때문이다

 

변경 전후에 시스템이 똑같이 돌아간다는 사실을 확인하려면 언제든 실행 가능한 자동화된 테스트 슈트가 필요하다

단위 테스트와 인수 테스트를 활용하자

 

리팩터링을 하다보면 코드를 넣었다 뺐다 하는 사례가 아주 흔하다

단계적으로 조금씩 변경하며 매번 테스트를 돌려야 하므로 코드를 여기저기 옮길 일이 많아진다

리팩터링은 루빅 큐브 맞추기와 비슷하다

큰 목표 하나를 이루기 위해 자잘한 단계를 수없이 거친다

각 단계를 거쳐야 다음 단계가 가능하다


3. 결론

나쁜 코드보다 더 오랫동안 더 심각하게 개발 프로젝트에 악영향을 미치는 요인도 없다

나쁜 코드를 깨끗한 코드로 개선하기 위해서는 엄청나게 많은 비용이 든다

코드가 썩어가며 모듈은 서로서로 얽히고설켜 뒤엉키고 숨겨진 의존성이 수도 없이 생긴다

오래된 의존성을 찾아내 깨려면 상당한 시간과 인내심이 필요하다

반면 처음부터 코드를 깨끗하게 유지하기란 상대적으로 쉽다

 

아침에 엉망으로 만든 코드를 오후에 정리하기는 어렵지 않다

5분 전에 엉망으로 만든 코드는 지금 당장 정리하기 아주 쉽다

그러므로 코드는 언제나 최대한 깔끔하고 단순하게 정리하자

절대로 썩어가게 방치하면 안 된다


마무리 느낀 점

리팩터링은 정말 가장 어렵고 힘든 작업 중 하나라고 생각한다

그래서인지 요즘은 코드리뷰나 mr, pr등 코드를 검토하는 문화(?)가 자리잡은 회사들도 많은 것 같다

작성한지 얼마 되지않은 코드일수록 개선하기 쉽다는 말을 기억하자

728x90
복사했습니다!