티스토리 뷰

Paradigm/OOP

[OOP] Refactoring

Mr.SIM 2013. 11. 6. 14:42

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