Skip to content

githru-study/book-refactoring

Repository files navigation

📚 리팩터링 2판 독서 스터디

김민정 조예진 김채정 안바울
  • 기간: 22.11.06 ~ 23.03.05 (종료)
  • 매주 일요일 21시에 온라인으로 진행합니다. (공휴일 제외)
    • ⭐️ 아무리 늦어도 22시 30분에는 종료합니다.
  • 발표 담당자는 스터디 시간 전까지 5개의 기법을 md 파일로 정리해 올립니다.
    • 기법 당 요약 / 배경 / 절차 / 예시를 정리합니다.
      • 예시에 사용되는 언어 -> js(es6) & ts & python, 리액트 등 프레임워크 OK
    • 파일명 규칙
      • {기법 번호}) {기법 영어명}.md
      • 영어 소문자 사용
      • ex) 1) extract-function.md
    • 정리한 기법은 README 파일의 목차에 추가합니다.
  • 발표 순서: 민정님 → 예진님 → 채정님 → 바울님

목차

CHAPTER 06. 기본적인 리팩터링

기법명 담당
1) 함수 추출하기 김민정
2) 함수 인라인 하기 김민정
3) 변수 추출하기 김민정
4) 변수 인라인 하기 김민정
5) 함수 선언 바꾸기 김민정
6) 변수 캡슐화하기 조예진
7) 변수 이름 바꾸기 조예진
8) 매개변수 객체 만들기 조예진
9) 여러 함수를 클래스로 묶기 조예진
10) 여러 함수를 변환 함수로 묶기 조예진
11) 단계 쪼개기 김채정

CHAPTER 07. 캡슐화

기법명 담당
1) 레코드 캡슐화하기 김채정
2) 컬렉션 캡슐화하기 김채정
3) 기본형을 객체로 바꾸기 김채정
4) 임시 변수를 질의 함수로 바꾸기 김채정
5) 클래스 추출하기 안바울
6) 클래스 인라인하기 안바울
7) 위임 숨기기 안바울
8) 중개자 제거하기 안바울
9) 알고리즘 교체하기 안바울

CHAPTER 08. 기능 이동

기법명 담당
1) 함수 옮기기 김민정
2) 필드 옮기기 김민정
3) 문장을 함수로 옮기기 김민정
4) 문장을 호출한 곳으로 옮기기 김민정
5) 인라인 코드를 함수로 바꾸기 김민정
6) 문장 슬라이드하기 조예진
7) 반복문 쪼개기 조예진
8) 반복문을 파이프라인으로 바꾸기 조예진
9) 죽은 코드 제거하기 조예진

CHAPTER 09. 데이터 조직화

기법명 담당
1) 변수 쪼개기 조예진
2) 필드 이름 바꾸기 안바울
3) 파생 변수를 질의 함수로 바꾸기 안바울
4) 참조를 값으로 바꾸기 안바울
5) 값을 참조로 바꾸기 안바울
6) 매직 리터럴 바꾸기 안바울

CHAPTER 10. 조건부 로직 간소화

기법명 담당
1) 조건문 분해하기 김민정
2) 조건식 통합하기 김민정
3) 중첩 조건문을 보호 구문으로 바꾸기 김민정
4) 조건부 로직을 다형성으로 바꾸기 김민정
5) 특이 케이스 추가하기 김민정
6) 어서션 추가하기 조예진
7) 제어 플래그를 탈출문으로 바꾸기 조예진

CHAPTER 11. API 리팩터링

기법명 담당
1) 질의 함수와 변경 함수 분리하기 조예진
2) 함수 매개변수화하기 조예진
3) 플래그 인수 제거하기 조예진
4) 객체 통째로 넘기기 김채정
5) 매개변수를 질의 함수로 바꾸기 안바울
6) 질의함수를 매개변수로 바꾸기 김민정
7) 세터 제거하기 조예진
8) 생성자를 팩터리 함수로 바꾸기 김채정
9) 함수를 명령으로 바꾸기 안바울
10) 명령을 함수로 바꾸기 김민정
11) 수정된 값 반환하기 조예진
13) 예외를 사전확인으로 바꾸기 안바울

CHAPTER 12. 상속 다루기

기법명 담당
1) 메서드 올리기 김민정
2) 필드 올리기 조예진
3) 생성자 본문 올리기 김민정
4) 메서드 올리기 조예진
5) 필드 내리기 안바울
6) 타입코드를 서브클래스로 바꾸기 안바울
7) 서브클래스 제거하기 안바울
8) 슈퍼클래스 추출하기 김민정
9) 계층 합치기 김민정
10) 서브클래스를 위임으로 바꾸기 조예진
11) 슈퍼클래스를 위임으로 바꾸기 김채정

About

리팩터링 2판 스터디

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •