확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제 베스트셀러
리팩터링 2판

리팩터링 2판

: 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기

[ 『리팩토링』 개정판 ]
리뷰 총점9.6 리뷰 37건 | 판매지수 17,913
베스트
IT 모바일 86위 | IT 모바일 top20 19주

품목정보

품목정보
발행일 2020년 04월 01일
쪽수, 무게, 크기 550쪽 | 1050g | 183*235*35mm
ISBN13 9791162242742
ISBN10 1162242744

이 상품의 태그

떨림과 울림

떨림과 울림

13,500 (10%)

'떨림과 울림' 상세페이지 이동

팩트풀니스

팩트풀니스

17,820 (10%)

'팩트풀니스' 상세페이지 이동

나는 4시간만 일한다

나는 4시간만 일한다

15,120 (10%)

'나는 4시간만 일한다' 상세페이지 이동

Clean Code 클린 코드

Clean Code 클린 코드

29,700 (10%)

'Clean Code 클린 코드' 상세페이지 이동

혼자 공부하는 머신러닝+딥러닝

혼자 공부하는 머신러닝+딥러닝

23,400 (10%)

'혼자 공부하는 머신러닝+딥러닝' 상세페이지 이동

지금 이 순간을 살아라

지금 이 순간을 살아라

11,250 (10%)

'지금 이 순간을 살아라' 상세페이지 이동

클린 아키텍처

클린 아키텍처

26,100 (10%)

'클린 아키텍처' 상세페이지 이동

객체지향의 사실과 오해

객체지향의 사실과 오해

18,000 (10%)

'객체지향의 사실과 오해' 상세페이지 이동

한 권으로 읽는 컴퓨터 구조와 프로그래밍

한 권으로 읽는 컴퓨터 구조와 프로그래밍

31,500 (10%)

'한 권으로 읽는 컴퓨터 구조와 프로그래밍' 상세페이지 이동

미래를 바꾼 아홉 가지 알고리즘

미래를 바꾼 아홉 가지 알고리즘

16,920 (10%)

'미래를 바꾼 아홉 가지 알고리즘' 상세페이지 이동

리팩터링 2판

리팩터링 2판

31,500 (10%)

'리팩터링 2판' 상세페이지 이동

밑바닥부터 시작하는 딥러닝

밑바닥부터 시작하는 딥러닝

21,600 (10%)

'밑바닥부터 시작하는 딥러닝 ' 상세페이지 이동

이펙티브 자바 Effective Java 3/E

이펙티브 자바 Effective Java 3/E

32,400 (10%)

'이펙티브 자바 Effective Java 3/E' 상세페이지 이동

구글 엔지니어는 이렇게 일한다

구글 엔지니어는 이렇게 일한다

40,500 (10%)

'구글 엔지니어는 이렇게 일한다' 상세페이지 이동

핸즈온 머신러닝

핸즈온 머신러닝

49,500 (10%)

'핸즈온 머신러닝' 상세페이지 이동

딥 워크

딥 워크

15,300 (10%)

'딥 워크' 상세페이지 이동

인스파이어드

인스파이어드

21,600 (10%)

'인스파이어드' 상세페이지 이동

CODE 코드

CODE 코드

22,500 (10%)

'CODE 코드' 상세페이지 이동

딥러닝 파이토치 교과서

딥러닝 파이토치 교과서

32,400 (10%)

'딥러닝 파이토치 교과서' 상세페이지 이동

테스트 주도 개발

테스트 주도 개발

22,500 (10%)

'테스트 주도 개발' 상세페이지 이동

책소개 책소개 보이기/감추기

상품 이미지를 확대해서 볼 수 있습니다. 원본 이미지

목차 목차 보이기/감추기

CHAPTER 01 리팩터링: 첫 번째 예시
1.1 자, 시작해보자!
1.2 예시 프로그램을 본 소감
1.3 리팩터링의 첫 단계
1.4 statement() 함수 쪼개기
1.5 중간 점검: 난무하는 중첩 함수
1.6 계산 단계와 포맷팅 단계 분리하기
1.7 중간 점검: 두 파일(과 두 단계)로 분리됨
1.8 다형성을 활용해 계산 코드 재구성하기
1.9 상태 점검: 다형성을 활용하여 데이터 생성하기
1.10 마치며

CHAPTER 02 리팩터링 원칙
2.1 리팩터링 정의
2.2 두 개의 모자
2.3 리팩터링하는 이유
2.4 언제 리팩터링해야 할까?
2.5 리팩터링 시 고려할 문제
2.6 리팩터링, 아키텍처, 애그니(YAGNI)
2.7 리팩터링과 소프트웨어 개발 프로세스
2.8 리팩터링과 성능
2.9 리팩터링의 유래
2.10 리팩터링 자동화
2.11 더 알고 싶다면

CHAPTER 03 코드에서 나는 악취
3.1 기이한 이름
3.2 중복 코드
3.3 긴 함수
3.4 긴 매개변수 목록
3.5 전역 데이터
3.6 가변 데이터
3.7 뒤엉킨 변경
3.8 산탄총 수술
3.9 기능 편애
3.10 데이터 뭉치
3.11 기본형 집착
3.12 반복되는 switch문
3.13 반복문
3.14 성의 없는 요소
3.15 추측성 일반화
3.16 임시 필드
3.17 메시지 체인
3.18 중개자
3.19 내부자 거래
3.20 거대한 클래스
3.21 서로 다른 인터페이스의 대안 클래스들
3.22 데이터 클래스
3.23 상속 포기
3.24 주석

CHAPTER 04 테스트 구축하기
4.1 자가 테스트 코드의 가치
4.2 테스트할 샘플 코드
4.3 첫 번째 테스트
4.4 테스트 추가하기
4.5 픽스처 수정하기
4.6 경계 조건 검사하기
4.7 끝나지 않은 여정

CHAPTER 05 리팩터링 카탈로그 보는 법
5.1 리팩터링 설명 형식
5.2 리팩터링 기법 선정 기준

CHAPTER 06 기본적인 리팩터링
6.1 함수 추출하기
6.2 함수 인라인하기
6.3 변수 추출하기
6.4 변수 인라인하기
6.5 함수 선언 바꾸기
6.6 변수 캡슐화하기
6.7 변수 이름 바꾸기
6.8 매개변수 객체 만들기
6.9 여러 함수를 클래스로 묶기
6.10 여러 함수를 변환 함수로 묶기
6.11 단계 쪼개기

CHAPTER 07 캡슐화
7.1 레코드 캡슐화하기
7.2 컬렉션 캡슐화하기
7.3 기본형을 객체로 바꾸기
7.4 임시 변수를 질의 함수로 바꾸기
7.5 클래스 추출하기
7.6 클래스 인라인하기
7.7 위임 숨기기
7.8 중개자 제거하기
7.9 알고리즘 교체하기

CHAPTER 08 기능 이동
8.1 함수 옮기기
8.2 필드 옮기기
8.3 문장을 함수로 옮기기
8.4 문장을 호출한 곳으로 옮기기
8.5 인라인 코드를 함수 호출로 바꾸기
8.6 문장 슬라이드하기
8.7 반복문 쪼개기
8.8 반복문을 파이프라인으로 바꾸기
8.9 죽은 코드 제거하기

CHAPTER 09 데이터 조직화
9.1 변수 쪼개기
9.2 필드 이름 바꾸기
9.3 파생 변수를 질의 함수로 바꾸기
9.4 참조를 값으로 바꾸기
9.5 값을 참조로 바꾸기
9.6 매직 리터럴 바꾸기

CHAPTER 10 조건부 로직 간소화
10.1 조건문 분해하기
10.2 조건식 통합하기
10.3 중첩 조건문을 보호 구문으로 바꾸기
10.4 조건부 로직을 다형성으로 바꾸기
10.5 특이 케이스 추가하기
10.6 어서션 추가하기
10.7 제어 플래그를 탈출문으로 바꾸기

CHAPTER 11 API 리팩터링
11.1 질의 함수와 변경 함수 분리하기
11.2 함수 매개변수화하기
11.3 플래그 인수 제거하기
11.4 객체 통째로 넘기기
11.5 매개변수를 질의 함수로 바꾸기
11.6 질의 함수를 매개변수로 바꾸기
11.7 세터 제거하기
11.8 생성자를 팩터리 함수로 바꾸기
11.9 함수를 명령으로 바꾸기
11.10 명령을 함수로 바꾸기
11.11 수정된 값 반환하기
11.12 오류 코드를 예외로 바꾸기
11.13 예외를 사전확인으로 바꾸기

CHAPTER 12 상속 다루기
12.1 메서드 올리기
12.2 필드 올리기
12.3 생성자 본문 올리기
12.4 메서드 내리기
12.5 필드 내리기
12.6 타입 코드를 서브클래스로 바꾸기
12.7 서브클래스 제거하기
12.8 슈퍼클래스 추출하기
12.9 계층 합치기
12.10 서브클래스를 위임으로 바꾸기
12.11 슈퍼클래스를 위임으로 바꾸기

부록 A 리팩터링 목록
부록 B 악취 제거 기법

저자 소개 (3명)

출판사 리뷰 출판사 리뷰 보이기/감추기

20여 년 만에 다시 돌아온 마틴 파울러의 리팩터링 2판
리팩터링 1판은 1999년 출간되었으며, 한국어판은 2002년 한국에 소개되었다. 수많은 독자에게 사랑을 받았으며 리팩터링이란 용어가 프로그래밍 세계에 터를 잡는 계기가 되었다.

1판 출간된 후 18년이 흐른 지금 리팩터링은 무엇이 바뀌었을까? 이번 2판은 거의 모든 페이지가 새로 쓰였지만, 리팩터링의 핵심은 변하지 않았고, 주요 리팩터링 기법들도 여전히 유효하다. 2판이 리팩터링을 효과적으로 수행하는 법을 더 많은 사람이 익힐 수 있는 촉매가 되어줄 것이다.


리팩터링이란?
리팩터링은 겉으로 드러나는 코드의 기능은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 수정하는 과정이다. 요컨대, 리팩터링한다는 것은 코드를 작성하고 난 뒤에 설계를 개선하는 일이다.

다루는 내용
이 책은 전문 프로그래머를 대상으로 쓴 리팩터링 지침서다. 절제되고 효율적인 방식으로 리팩터링하는 법을 알려주는 것이 목표다. 코드에 버그가 생기지 않게 하면서 구조를 더 체계적으로 바꾸는 방법을 설명한다.

누가 읽어야 하나
이 책은 소프트웨어 개발을 직업으로 하는 전문 프로그래머를 위해 쓰였다. 예시와 본문에는 읽고 이해해야 할 코드가 꽤 많다. 예시 코드는 모두 자바스크립트로 작성했지만, 대부분의 언어에 적용할 수 있을 것이다. 이 책의 내용을 쫓아오려면 프로그래밍 경험이 어느 정도 있으면 좋지만 고수가 아니라도 읽을 수 있다.

코딩 스타일이 바뀐다
객체지향 언어의 문법을 익혔다고 저절로 객체지향 프로그래밍을 할 수 있는 게 아니다. 리팩터링 카탈로그를 통해 어떤 코드를 고쳐야 하는지, 왜 고쳐야 하는지, 고친 코드가 왜 좋은지 이해할 수 있다. 이런 과정을 통해 객체지향에 어울리는 코드 디자인을 배우게 되고, 자신의 코딩 스타일도 바뀌게 된다. 이 책을 읽기 전과 후는 코드의 품질에 결정적인 차이가 생길 것이다.


주요 내용
ㆍ 리팩터링 프로세스와 일반 원칙 이해하기
ㆍ 프로그램을 더 쉽게 이해하고 변경하는 유용한 리팩터링 빠르게 적용하기
ㆍ 리팩터링 가능성이 있는 코드에서 풍기는 악취 인식하기
ㆍ 각 리팩터링 기법의 개념, 동기부여, 역학 및 간단한 사례 살펴보기
ㆍ 리팩터링을 수행하는 견고한 테스트 구축하기
ㆍ 리팩터링의 장단점과 장애물 인식하기

회원리뷰 (37건) 리뷰 총점9.6

혜택 및 유의사항?
구매 리팩터링 2판 내용 평점5점   편집/디자인 평점5점 YES마니아 : 로얄 스타블로거 : 블루스타 W****y | 2023.01.03 | 추천0 | 댓글0 리뷰제목
리팩터링 2판 리뷰입니다. 어떤 책을 읽을까 생각하다가 이 리팩터링을 계속 읽어보면 좋다고 해서 구입하게 되었습니다. 이 책의 내용이 초심자가 읽기에는 어려운 부분이 있어서 쉽게 읽을 수 없다는 느낌이 많이 들었습니다. 그렇지만 이 책에 나오는 용어들이 아는 용어들이라서 조금씩 읽으려고 노력하게 됩니다. 내부 구조를 어떻게 개선 해야할 것인지에 대해 알려주고 있는데,;
리뷰제목

리팩터링 2판 리뷰입니다.

어떤 책을 읽을까 생각하다가 이 리팩터링을 계속 읽어보면 좋다고 해서 구입하게 되었습니다.

이 책의 내용이 초심자가 읽기에는 어려운 부분이 있어서 쉽게 읽을 수 없다는 느낌이 많이 들었습니다. 그렇지만 이 책에 나오는 용어들이 아는 용어들이라서 조금씩 읽으려고 노력하게 됩니다. 내부 구조를 어떻게 개선 해야할 것인지에 대해 알려주고 있는데, 기존의 코드의 기능은 변하지 않으면서도 구조를 다르게 개선한다는 점이 막막하기만 한데 몇가지 여러 방면에서 알려주고 있어 흥미가 생깁니다. 

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
구매 리팩토링 2판 내용 평점5점   편집/디자인 평점5점 YES마니아 : 로얄 t*****g | 2022.08.03 | 추천0 | 댓글0 리뷰제목
개발자라면 꼭 한번은 보아야 하는 필독서라고 할수 있습니다.나의 수준을 한층 업그레이드 시켜줄것입니다. 자바스크립트를 기준으로 되어 있지만 모든 프로그램에 적용될 내용입니다. 지저분한 코드를 정리하고 가독성이 높은 프로그램을 구현하게 되네요. 또한 부품처럼 분리할수 있기에 언제든 어디서든 다시 재사용이 가능하게 되더군요. 꼭 추천드립니다;
리뷰제목
개발자라면 꼭 한번은 보아야 하는 필독서라고 할수 있습니다.나의 수준을 한층 업그레이드 시켜줄것입니다. 자바스크립트를 기준으로 되어 있지만 모든 프로그램에 적용될 내용입니다. 지저분한 코드를 정리하고 가독성이 높은 프로그램을 구현하게 되네요. 또한 부품처럼 분리할수 있기에 언제든 어디서든 다시 재사용이 가능하게 되더군요. 꼭 추천드립니다
댓글 0 이 리뷰가 도움이 되었나요? 공감 0
구매 리팩터링 2판 내용 평점5점   편집/디자인 평점5점 m*****9 | 2022.06.21 | 추천0 | 댓글0 리뷰제목
좋은 소프트웨어를 만들 수 있는 방법 중 하나인 리팩토링에 대해 알아볼 수 있는 책입니다. 리팩토링을 해야 하는 순간과 하는 방법에 대해 나와있고, 그것의 장단점, 특징, 예제 코드에 대해 나와있는 구성입니다. 분량이 조금 되기 때문에 한 번에 습득하기엔 힘들 거 같고, 개인적으로 생각하면 바이블처럼 두고 필요할 때마다 읽어가면서 공부하면 좋을 것 같습니다.;
리뷰제목

좋은 소프트웨어를 만들 수 있는 방법 중 하나인 리팩토링에 대해 알아볼 수 있는 책입니다. 리팩토링을 해야 하는 순간과 하는 방법에 대해 나와있고, 그것의 장단점, 특징, 예제 코드에 대해 나와있는 구성입니다. 분량이 조금 되기 때문에 한 번에 습득하기엔 힘들 거 같고, 개인적으로 생각하면 바이블처럼 두고 필요할 때마다 읽어가면서 공부하면 좋을 것 같습니다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0

한줄평 (20건) 한줄평 총점 9.8

혜택 및 유의사항 ?
구매 평점5점
재밌어요
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 로얄 이****랄 | 2023.05.28
구매 평점5점
도움이 많이 됩니다.
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 로얄 이* | 2023.03.23
구매 평점5점
2판도 좋네요.
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 플래티넘 g********s | 2023.03.01
스프링분철 서비스를 선택하세요.
수량감소 수량증가 31,500
  •  다운받은 받은 쿠폰은 결제 페이지에서 적용해 주세요.
  •  분철옵션 선택 시, 영업일 기준 3일내 출고됩니다.
  •  분철상품은 해외배송이 불가합니다.
1   31,500

스프링분철 신청 가능

뒤로 앞으로 맨위로 공유하기