리팩토링 5. 코드 정리하기 (Slide Statements) 관련있는 코드끼리 묶여있어야 코드를 더 쉽게 이해할 수 있다. 함수에서 사용할 변수를 상단에 미리 정의하기 보다는 해당 변수를 사용하는 코드 바로 위에 선언하자. 관련있는 코드끼리 묶은 다음 함수 추출하기 (Extract Function)를 사용해서 더 깔끔하게 분리할 수도 있다. Slide Statements란? 관련있는 코드들을 가까이 두기 위해서 코드를 아래 위로 움직이는 것을 의미한다. 관련있는 코드들은 서로 가까이 두어야 이해하기 더 쉽기 때문이다. Slide Statement는 다른 리팩토링 기법을 적용하기 전에 관련있는 코드들을 서로 가까이두어 리팩토링 하기 쉽도록 만들어 주는 전 처리 작업이다. 예를 들어 관련있는 코드끼리 뭉쳐..
들어가기 전 이 글은 인프런 백기선님의 리팩토링 강의를 복습하며 작성한 글입니다. 리팩토링 4. 함수 추출하기 (Extract Function) 함수 추출의 기준은 '의도'와 '구현'을 분리할 때 사용함. 무슨 일을 하는 코드인지 알아내려고 노력해야 하는 코드라면 해당 코드를 함수로 분리하고 함수 이름으로 '무슨 일을 하는지' 표현할 수 있다. 무슨 일을 하는 코드인지 알아내려고 노력해야 하는 코드라면 이 코드는 구현에 집중한 코드다. 구현에 집중한 코드는 '의도'를 표현하는 메서드 이름을 사용한 메서드로 추출한다. 한줄 짜리 메서드도 괜찮은가? 괜찮음. 거대한 함수 안에 들어있는 주석은 추출할만한 함수를 찾는데 있어서 좋은 단서가 될 수 있다. 함수 추출하기 자체는 '중복 코드' 냄새를 제거하기 위한 ..
들어가기 전 이 글은 인프런 백기선님의 리팩토링 강의를 복습하며 작성한 글입니다. 냄새 2. 중복 코드 (Duplicated Code) 중복 코드의 단점 비슷한지, 완전히 동일한 코드인지 주의 깊게 봐야한다 코드를 변경할 때, 동일한 모든 곳의 코드를 변경해야 한다 사용할 수 있는 리팩토링 기술 동일한 코드를 여러 메서드에서 사용하는 경우, 함수 추출하기 (Extract Function) 코드가 비슷하게 생겼지만 완전히 같지는 않은 경우, 코드 분리하기 (Slide Statements) 여러 하위 클래스에 동일한 코드가 있다면, 메서드 올리기 (Pull Up Method) 이 장에서는 '중복 코드'라는 냄새를 알아본다. 그리고 그 냄새를 제거할 수 있는 기법들에 대해서 공부해본다. 중복 코드란? 코드들 ..