ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리팩토링 - 메소드 정리
    My-Book(History) 2017. 1. 11. 00:09
    메소드 정리


    - 쪼갠 메소드중 제 역할을 못할 경우 메소드 내용을 호출하는 메소드에 직접 넣는 기법을 사용하라.


    - 임시변수를 메소드 호출로 전환 기법을 사용할때 어려운 상황에 처하면 임시변수를 분리 시켜라



    메소드 추출


    - 어떤 코드를 그룹으로 묶어도 되겠다고 판단될땐 그 코드를 빼내어 목적을 잘 나타내는 직관적 이름의 메소드로 만들자.


    - 메소드 추출로 코드의 명료성이 향상 되기만 한다면 메소드명이 추출한 코드보다 길어도 메소드 추출을 실시해야 한다.


    - 지역 변수가 읽기 용으로만 사용된다면 그냥 매개변수로 전달하라.



    메소드 내용 직접 삽입


    - 메소드 기능이 너무 단순해서 메소드 명만 봐도 뻔할땐 그 메소드의 기능을 호출하는 메소드에 넣어버리고 그 메소드는 삭제하라


    - 주의할점은 메소드가 재정의 되어있지 않아야 한다는 것이다.



    임시변수를 메소드 호출로 전환


    - 임시변수를 final로 선언하여 그 임시변수들이 값을 한번만 대입을 받는지 시험해보라 (그럼 임시변수를 메소드화 하기 쉬어진다)



    직관적 임시변수 사용


    - 사용하는 수식이 너무 복잡해서 이해하기 힘들때는 임시변수를 사용하러 처리하기 쉽게 쪼개라


    ex)


    if( (platform.toUpperCase().indexOf("mac") > -1) && (browser.touerCase().indexOf('IE') > -1)


    를 final boolean isMacOs = 조건문에 들어갈 수식어


    - 임시변수를 사용하고 싶을때 마다 더 좋은 방법이 없는지 늘 생각해보라


    - 방법을 생각해봐도 지역변수 때문에 메소드 추출이 어렵다면 그냥 직관적 임시변수를 사용하라.


    - 알고리즘에 수 많은 지역변수가 사용될 땐 대체로 메소드 추출이 수비지 않을때 사용된다.



    임시변수 분리


    - 루프변수나 값 누적용 임시변수가 아닌 임시변수에 값이 여러번 대입될 땐 다른 임시 변수를 사용하라.


Designed by Tistory.