개인 공부

레거시 코드 (Legacy Code)

Machine_웅 2019. 6. 12. 15:58
728x90
반응형

사전적 의미 : 유산, 산물 ( 즉 누군가 떠나면서 남겨둔 코드 )

 

( 예시 )

  • 다른 코드와의 개연성을 무시한 채 Due Date만 맞춰 작성한 코드
  • 코드의 종속성... 디펜던시를 낮추는 노력이 1도 없는 코드
  • 코맨트 등을 전혀 남기지 않아 더 수정, 보완 등이 어려운 코드
  • 기능 단위의 함수 나아가 모듈 자체가 지나치게 큰 코드

( 출처 : https://webisfree.com/2017-11-23/%EB%A0%88%EA%B1%B0%EC%8B%9C-%ED%95%A8%EC%88%98-%EB%A0%88%EA%B1%B0%EC%8B%9C-%EC%BD%94%EB%93%9C%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80 )

 

 

 

개선할수 있는 방법 들

 

1. final static 필드를 모아 놓아서 뚱뚱해진 클래스 개선하기


2. 혼동되는 생성자 초기화 개선하기


3. 독립된 중복 메서드를 효율적으로 개선하기


4. 매개변수 남용으로 거대해진 메서드 개선하기


5. 비즈니스 로직과 기능 호출이 섞여 있는 메서드 개선하기


6 분기문에 복잡하게 꼬여있는 AND와 OR 연산자 개선하기


7. 조건에 따라 분리되는 객체 생성 로직 개선하기


8 응집도가 낮은 멤버 클래스 개선하기


9. 잘못된 이해로 생긴 상속 구조 개선하기


10. 원래 기능과 다른 Null 예외 처리 개선하기


11. 연동 규약에 종속된 구조 개선하기


12. 유사한 기능의 인터페이스 다중 상속 구조 개선하기


13. 놓치기 쉬운 싱글톤 오류 개선하기

 

( 참고 : 레거시 코드를 클린 코드로 누구나 쉽게, 리팩토링 ( 한빛출판네트워크  책 ) ) 

 

728x90
반응형