티스토리 뷰
Code refactoring is a "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior"
리팩토링은 위 정의대로 바뀌것은 없어보이지만, 소프트웨어 내부를 더 좋게 바꾸는 작업이다.
리팩토링을 하는 이유는 무엇일까?
1. 리팩토링으로 중복된 코드를 제거함으로써, 소프트웨어의 수정 및 가독성이 좋아진다.
중복된 코드를 사용하게 되면, 코드의 길이가 늘어나게 된다. 이런 경우 굉장히 복잡해 보이고, 읽기 힘들어 지기 마련이다. 또한, 수정을 하더라도, 중복된 코드의 모든 내용을 수정해야하므로, 코드의 중복은 피할 수 있으면, 피하는 게 좋다.
2. 리팩토링을 통해, 기능의 수정, 추가가 쉬워질 수 있다.
사용자 요구사항이 변경되면서, 코드의 기능을 수정, 추가해야할 때가 있다. 하지만, 더러운 코드의 경에는 기능의 수정, 추가를 할 때, 기존 코드를 많이 수정하게 된다. 이 경우, 어떤 코드를 변경해야하는지 명확하게 되지 않아 버그를 발생시키기도 하고, 시간을 많이 소비할 수 도 있다. 특히, 내가 아닌 다른 사람이 이 코드를 수정하게 되는 경우는 정말 최악일 것이다.
3. 버그를 찾기 쉬워진다.
리팩토링을 통해 코드를 파악하기 쉬워지게 되면, 버그를 찾는데도 쉬워진다. 당연한, 얘기다. 프로그램 구조를 명확하게 하면, 버그가 어디서 발생하는 지 파악하기 쉽기 때문이다.
4. 개발 속도가 빨라진다.
리팩토링하는 동안에는 프로그래밍 진행이 멈출 것이다. 하지만, 리팩토링으로 인해, 코드를 튜닝하기 쉬워지고, 버그도 찾기 쉽게 되므로, 결국에는 코드의 질뿐만 아니라 개발속도도 더 빨라지게 된다.
'Paradigm > OOP' 카테고리의 다른 글
[객체지향] PrototypePattern (0) | 2014.08.05 |
---|---|
[객체지향] Abstract Factory Pattern (0) | 2014.08.04 |
[OOP] Law of demeter (0) | 2013.10.30 |
[OOP] Dependency Inversion Principle (0) | 2013.10.29 |
[OOP] Interface Segregation Principle (0) | 2013.10.29 |
- Total
- Today
- Yesterday