본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

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

2판
마틴 파울러 지음 | 개앞맵시 , 남기혁 옮김 | 한빛미디어 | 2020년 04월 01일 출간
클로버 리뷰쓰기

이 책의 다른 상품 정보

  • 정가 : 35,000원
    판매가 : 31,500 [10%↓ 3,500원 할인]
  • 혜택 :
    [기본적립] 1750원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 개정정보 : 이 도서는 가장 최근에 출간된 개정판입니다. 2012년 11월 출간된 구판이 있습니다. 구판 보기
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(23일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 2022 캘린더 수록한 IT독자를 위한 readIT 노트 사은품
    2021.10.14 ~ 2021.11.30
  • 한빛미디어 IT도서 2만원 이상 구매시 카드지갑 선택 가능
    2021.07.23 ~ 2021.10.31
  • 오라일리 동물 스티커 선택(행사도서 3만원 이상 구매시)
    2021.07.16 ~ 2021.10.31
  • 개발자의 학습과 성장에 도움이 되는 55권의 목록입니다.
    2021.07.15 ~ 2021.12.31
  • 책을 통해 성장해나가는 개발자를 응원합니다.
    2017.06.22 ~ 2025.07.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2022.12.31
상품상세정보
ISBN 9791162242742(1162242744)
쪽수 550쪽
크기 183 * 235 * 25 mm /967g 판형알림
이 책의 원서/번역서 Refactoring: Improving the Design of Existing Code (2nd Edition)

책소개

이 책이 속한 분야

이 책의 주제어

개발자가 선택한 프로그램 가치를 높이는 최고의 코드 관리 기술
마틴 파울러의 『리팩터링』이 새롭게 돌아왔다.
지난 20년간 전 세계 프로그래머에게 리팩터링의 교본이었던 이 책의 1판은, 기존 코드의 디자인을 개선하고 소프트웨어 유지 관리 능력을 향상시켰으며 기존 코드를 이해하기 쉽게 만드는 데 도움을 주었습니다. 간절히 기다려온 이번 개정판에는 프로그래밍 환경의 중요한 변화가 대거 반영되었습니다.

새로운 리팩터링 카탈로그를 자바스크립트 코드로 제시합니다. 리팩터링 원칙부터 클래스 없이 리팩터링하는 방법과 데이터 조직화, 조건부 로직 간소화 방법을 다룹니다. 또한 언어에 상관없이 리팩터링을 성공적으로 수행하는 실질적인 방법을 알려줍니다.
▶ 『리팩터링』 북트레일러

* 출판사의 사정에 따라 서비스가 변경 또는 중지될 수 있습니다.
*window7의 경우 사운드 연결이 없을시, 동영상 재생에 오류가 발생할 수 있습니다. 이어폰, 스피커 등이 연결되어 있는지 확인 하시고 재생하시기 바랍니다

목차

초판의 추천사
들어가며
한국어판 독자를 위한 안내

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 악취 제거 기법

출판사 서평

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

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

리... 더보기

Klover 리뷰 (0)

북로그 리뷰 (9) 전체보기 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료
  • 리팩터링 2판 me**iang26 | 2021-03-21 | 추천: 0 | 5점 만점에 5점
    신입 개발자이던 시절 나에게 내가 작성하지 않은 코드나 오래된 코드, 볼륨이 큰 코드는 공포의 대상이었다. (상대적인 관점이지만) 잘 짜여진 코드가 아니라면 더더욱. 5-6 단계까지 들어가는 if문 혹은 반복문, 너무 긴 코드 등등 고치긴 고쳐야 하는... 더보기
  • 리팩터링 2판 리뷰 kw**sye | 2021-03-21 | 추천: 0 | 5점 만점에 5점
    마틴 파울러의 클린코드, 클린아키텍처를 읽고 리팩토링도 읽어보게 되었습니다. 2판은 자바스크립트로 작성이 된 점이 흥미로웠는데, 자바 개발자로서는 이 부분은 조금 아쉬웠지만 이 책이 말하고자 하는 바는 근본적이기 때문에, 언어, 프레임워크, 라이브러리를 막론하고 모두 적용할 수 있다고 생각합니다. 유지보수 업무가 아닌 초기 개발 업무를 중심적으로 하는 개발자에게는 사실 코드의 설계에 많은 시간은 쓰고, 코드 스멜이 안나게 시간을 투자하는 것이 쉽지 않다고 생각합니다.  하지만 리팩토링은 말그대로 초기 개발 ... 더보기
  • 오늘 볼 책은 리팩터링에 관한 책입니다. 본론부터 말하겠습니다. 이 책은 '필요한' 책입니다.   먼저 독자대상을 정리해보겠습니다. - 프로그래밍을 진행하면서 제대로 하고 있는지 헷갈리는 3년차프로그래머 - 학교에서 프로젝트를 진행하고 시간이 남았을때 좀 더 코드를 발전시키고 싶은 학생 - 기존에 개발된 프로그램을 개선시키고 싶은 5년차 프로그래머   책표지에서는 우수한 프로그래머를 위한 책이라는 느낌이 뿜어져나옵니다. 책에서 볼 수 있듯이 책은 ... 더보기
  • 리팩터링이란 단어는 일반인에게 생소하지만 개발자에겐 유령처럼  깨어있거나 자고 있거나 항상 따라다니는 존재이다.    그만큼 이 책도 2012년 초판 1쇄가 나온 이후 근 10여년이 지난 2020년 4월에 2판이 나올 정도로  꾸준히 판매되고 있다.   책의 난이도는 중급 정도로 보이며, 프로그래밍 언어중 자바스크립트를 이용해 이를 구현하였다.   통상적으로 컴퓨터 공학, 과학과에서 프로그래밍 과목에서 항상 다루는 주제지만  현업을 뛰지 않으면 알 수 없... 더보기
  • 재밌게 읽은 책 1i**ang | 2020-05-01 | 추천: 0 | 5점 만점에 5점
    이 책을 읽기 전과 후가 명확하게 차이난다.   특히 if 문과 함수형 등은 큰 도움이 된다.   읽어보면 코드가 상당히 간결하게 변경되고 왜 이렇게 짜야하는지 알게 된다.   넘 좋았다 더보기

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품