- 리팩토링

  * 맛보기 예제

    : 원래의 프로그램

    : 리팩토링 첫 단계

    : statement 메서드 분해와 기능 재분배

    : 가격 책정 부분의 조건문을 재정의로 교체

    : 고찰

  * 리팩토링 개론

    : 리팩토링은 무엇인가

    : 리팩토링은 왜 해야 하나

    : 리팩토링은 어떨 때  필요한가

    : 팀장에게 어떻게 말을 꺼내나

    : 리팩토링 관련 문제들

    : 리팩토링과 설계

    : 리팩토링과 성능

    : 리팩토링의 유래

  * 코드의 구린내

    : 중복 코드

    : 장황한 메서드

    : 방대한 클래스

    : 과다한 매개변수

    : 수정의 산발

    : 기능의 산재

    : 잘못된 소속

    : 데이터 뭉치

    : 강박적 기본 타입 사용

    : switch 문

    : 평행 상속 계층

    : 직무유기 클래스

    : 막연한 범용 코드

    : 임시 필드

    : 메시지 체인

    : 과잉 중개 메서드

    : 지나친 관여

    : 인터페이스가 다른 대용 클래스

    : 지나친 관여

    : 인터페이스가 다른 대용 클래스

    : 미흡한 라이브러리 클래스

    : 데이터 클래스

    : 방치된 상속물

    : 불필요한 주석

  * 테스트 작성

    : 자가 테스트 코드의 가치

    : JUnit 테스트 프레임워크

    : 테스트 추가

    : 각 리팩토링 기법 절의 구성

    : 참조 검색

    : 리팩토링 기법의 성숙도

  * 메서드 정리

    : 메서드 추출

    : 메서드 내용 직접 삽입

    : 임시변수 내용 직접 삽입

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

    : 직관적 임시변수 사용

    : 임시변수 분리

    : 매개변수로의 값 대입 제거

    : 메서드를 메서드 객체로 전환

    : 알고리즘 전환

  * 객체 간의 기능 이동

    : 메서드 이동

    : 필드 이동

    : 클래스 추출

    : 클래스 내용 직접 삽입

    : 대리 객체 은폐

    : 과잉 중개 메서드 제거

    : 외래 클래스에 메서드 추가

    : 국소적 상속확장 클래스 사용

  * 데이터 체계화

    : 필드 자체 캡슐화

    : 데이터 값을 객체로 전환

    : 값을 참조로 ㅂ전환

    : 참조값을 값을 ㅗ전환

    : 배열을 객체로 전환

    :  관측 데이터 복제

    : 클래스의 단방향 연결을 양뱡향으로 전환

    : 클래스의 양방향 연결을 단방향으로 전환

    : 마법 숫자를 기호 상수로 전환

    : 필드 캡술화

    : 커렉션 캡슐화

    : 레코드를 데이터 클래스로 전환

    : 분류 부호를 클래스로 전환

    : 분류 부호를 하위클래스로 전환

    : 분류 부호를 ㅈ상태/전략 패턴으로 전환

    : 하위클래스를 필드로 전환

  * 조건문 간결화

    : 조건문 쪼개기

    : 중복 조건식 통합

    : 조건문의 공통 실행 코드 빼내기

    : 제어 플래그 제거

    : 여러 겹의 조건문을 감시 절로 전환

    : 조건문을 재정의로 전환

    : null 검사를 널 객체에 위임

    : 어설션 넣기

  * 메서드 호출 단순화

    : 메서드명 변경

    : 매개변수 추가

    : 매개변수 제거

    : 상태 변경 메서드와 값 반환 메서드를 분리

    : 메서드를 매개변수로 전환

    : 매개변수를 매개변수로 전환

  * 일반화 처리

    : 필드 상향

    : 메서드 상향

    : 생성자 내용 상향

    : 메서드 하향

    : 필드 하향

    : 항위클래스 추출

    : 상위클래스 추출

    : 인터페이스 추출

    : 계층 병합

    : 템플릿 메서드 형성

    : 상속을 위임으로 전환

    : 위임을 상속으로 전환

  * 복합리팩토링

    : 상속 구조 정리

    : 절차 코드를 객체로 전환

    : 도메인 로직을 표현과 분리

    : 계층구조 추출

  * 리팩토링, 재사용, 현실성

    : 현실성 검토

    : 개발자가 리팩토링을 꺼리는 이유

    : 현실성 다시 검토하기

    : 리팩토링 자료와 참고문헌

    : 소프트웨어 재사용과 기술 변경이 미치는 영향



반응형

'Programming > Blah Blah' 카테고리의 다른 글

행동 트리(Behavior Tree)  (0) 2019.12.07
C# 프로젝트 관리 툴?  (0) 2019.11.16
소프트웨어 테스트 방식  (0) 2019.11.05
Voxelize Shadow Map  (0) 2019.10.27
Gitea 사용해보기  (0) 2019.08.14
데드 레커닝(Dead Reckoning)  (0) 2019.05.31
SharpNav  (0) 2018.09.01
123  (0) 2018.06.21