Skip to main content 코드 복사를 피하자
- 코드를 복사하는 것은 문제가 발생할 수 있는 것이다.
- 버그가 발생할 경우, 같은 코드를 여러 곳에서 수정해야하므로 비효율적이다.
- 이미 작성된 메서드를 재사용하거나, 일반화하는 방법을 사용하자.
코드 복사의 문제점
- 6줄 이상의 같은 코드가 있다면, 이를 코드 클론 또는 사본이라고 볼 수 있다.
- 이런 코드는 분석하기 어렵다. 사본이 어디에 있는지, 몇 개나 있는지 파악하기 힘들다.
- 또한 이런 코드는 수정하기 어렵다. 하나의 사본에서 버그가 발생하면, 모든 사본을 수정해야하는 문제가 있다.
해결방안
- 복사 붙여넣기 대신, 메서드 호출 리팩토링을 활용하자.
- 추출한 메서드를 유틸리티 클래스의 메서드로 만들자.
- 공통된 기능을 묶은 상위 클래스를 만들고, 이를 상속하여 재정의하자.
코드 복사를 방지하는 추가적인 방법
- 복사하기보다, 필요한 기능을 임포트하자.
- 복사한 후 수정하는 것보다, 상위 클래스 추출을 활용하자.
- 코드는 언제든지 변경될 수 있다는 것을 기억하자.
- 백업을 위한 사본을 만드는 것보다, SVN이나 Git 등의 버전 관리 시스템을 사용하자.
- 긴 SQL 쿼리나 XML, HTML 문서는 문자열 결합, 파라미터를 사용한 메서드로 추출하거나, HTML 코드를 만들어주는 템플릿 엔진을 사용하자.
결론
- 코드를 복사하는 것은 문제를 일으킬 수 있다.
- 이미 작성된 코드를 재사용하거나, 일반화하는 방법을 활용하자.
- 코드 복사를 피하려면, 메서드 호출 리팩토링, 유틸리티 클래스의 메서드 추출, 상위 클래스 추출 등의 방법을 사용하자.