아래 내용은 리팩터링 2판 내용과 한달한권 읽기 강의를 기반하여 정리한 글입니다. 리팩터링이란 소프트웨어의 겉보기 동작은 그대로 유지한채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 (겉보기 동작은 그대로 유지한채 이란 표현은 사용자 관점에서는 달라지는
아래 내용은 리팩터링 2판 내용과 한달한권 읽기 강의를 기반하여 정리한 글입니다. 코드에서 악취가 풍길때 리팩토링이 필요한 시점이다. 어디까지 리팩터링 해야하는지 즉 악취를 어느정도까지 제거해야 하는지에 대한 기준은 숙련된 개발자의 직관을 따라야 한다. 결국엔 개개인
아래 내용은 리팩터링 2판 내용과 한달한권 읽기 강의를 기반하여 정리한 글입니다. 여기부터는 구체적인 리팩토링 기법들 입니다. 함수 추출하기 코드를 보고 무슨 일을 하는지 파악하는데 시간이 걸린다면 함수로 추출후 무슨 일(목적) 하는지가 드러나는 이름을 지어라!(목적
아래 내용은 리팩터링 2판 내용과 한달한권 읽기 강의를 기반하여 정리한 글입니다. 여러 함수를 클래스로 묶기 목적은 같은 데이터를 사용하는 함수를 한 클래스로 묶는 방법 여러함수를 변환 함수로 묶기와 동일 방법은 연관된 데이터를 다루는 함수와 데이터를 가진 객체를 리
아래 내용은 리팩터링 2판 내용과 한달한권 읽기 강의를 기반하여 정리한 글입니다. API란? 모듈과 함수는 소프트웨어를 구성하는 빌딩 블록이며, API는 이 블록들을 끼워 맞추는 연결부다. 질의 함수와 변경 함수 분리하기 겉보기 부수효과가 있는 함수와 부수효과가 없
아래 내용은 리팩터링 2판 내용과 한달한권 읽기 강의를 기반하여 정리한 글입니다. 조건문 분해하기 조건문은 함수를 이해하기 더욱 힘들게 만든다. 왜냐하면 어떻게는 나열이 되어 있지만 무엇인지/왜 일어나는 지는 제대로 말해주지 않을때가 많기 때문이다. 거대한 코드 블럭
아래 내용은 리팩터링 2판 내용과 한달한권 읽기 강의를 기반하여 정리한 글입니다. 메서드 올리기 상속 구조에 동일한 메서드가 존재한다면 부모에게 올려라. 메서드 올리기시 제거하려는 중복된 메서드가 만약 서브 클래스에만 있는 필드를 참조한다면 필드를 먼저 부모로 올려