알라딘

이전
다음
[중고] 레거시 코드 활용 전략 (손대기 두려운 낡은 코드, 안전한 변경과 테스트 기법, 재출간판)
  • 새상품
    40,000원 36,000원 (마일리지2,000원)
  • 판매가
    39,600원 (정가대비 1% 할인)
  • 상품 상태
    최상
    • 배송료
      택배 4,000원, 도서/산간 1,000원
    • 판매자
    • 출고예상일
      통상 48시간 이내

    무이자 할부 안내

    • * 2~3개월 무이자 : 현대,하나,국민,삼성
      * 2~4개월 무이자 : 우리,BC
      * 2~5개월 무이자 : 롯데,신한
      * 2~6개월 무이자 : 농협
      ※ 제휴 신용카드 결제시 무이자+제휴카드 혜택 가능합니다.
      ※ 알라딘페이는 토스페이먼츠사 정책으로 5만원 이상 할부 선택이 가능하오니 필요시 다른 결제수단을 이용 부탁드립니다.
      ※ 오프라인결제/Non ActiveX 결제(간편결제)/카카오페이/네이버페이/페이코 등 간편결제/법인/체크/선불/기프트/문화누리/은행계열카드/ 알라딘 캐시와 같은 정기과금 결제 등은 행사대상에서 제외됩니다.
      ※ 무이자할부 결제 시 카드사 포인트 적립에서 제외될 수 있습니다.
      ※ 본 행사는 카드사 사정에 따라 변경 또는 중단될 수 있습니다.

    상품을 장바구니에 담았습니다.

    보관함에 상품 담기

    • US, 해외배송불가, 판매자 직접배송
    • 중고샵 회원간 판매상품은 판매자가 직접 등록/판매하는 오픈마켓 상품으로, 중개 시스템만 제공하는 알라딘에서는 상품과 내용에 대해 일체 책임지지 않습니다.
    중고상품 구매 유의 사항
    중고상품 구매 유의 사항

    책 정보

    · 제목 : 레거시 코드 활용 전략 (손대기 두려운 낡은 코드, 안전한 변경과 테스트 기법, 재출간판)
    · ISBN : 9791161752075
    · 쪽수 : 540쪽
    · 출판일 : 2018-09-28

    책 소개

    저자는 다년간의 현장 경험과 실제 코드를 바탕으로 다양한 기법을 소개한다. 여러 언어뿐만 아니라, 현업에서 사용되는 도구에 대해 현실적인 조언을 해준다. 코드 내 의존 관계 해결, 효과적 테스팅 방법 등 24가지 기법을 통해 시스템의 낡은 코드를 변경, 관리하는 데 있어 많은 통찰력을 줄 것이다.

    목차

    1부. 코드 변경의 메커니즘

    1장. 소프트웨어 변경
    __소프트웨어 코드를 변경하는 네 가지 이유
    ____기능 추가와 버그 수정
    ____설계 개선
    ____최적화
    ____네 가지 이유의 종합
    __위험한 변경

    2장. 피드백 활용
    __단위 테스트란?
    __상위 수준의 테스트
    __테스트를 통한 코드 보호
    ____레거시 코드를 변경하는 순서
    ____변경 지점을 식별한다
    ____테스트 루틴을 작성할 위치를 찾는다
    ____의존 관계를 제거한다
    ____테스트 루틴을 작성한다
    ____변경 및 리팩토링을 수행한다
    ____이후의 내용

    3장. 감지와 분리
    __협업 클래스 위장하기
    ____가짜 객체
    ____가짜 객체의 양면성
    ____가짜 객체의 핵심
    ____모조 객체

    4장. 봉합 모델
    __엄청난 양의 테스트
    __봉합
    __봉합의 종류
    ____전처리 봉합
    ____링크 봉합
    ____객체 봉합

    5장. 도구
    __리팩토링 자동화 도구
    __모조 객체
    __단위 테스트 하네스
    ____JUnit
    ____CppUnitLite
    ____NUnit
    ____기타 xUnit 프레임워크
    __일반적인 테스트 하네스
    ____FIT
    ____피트니스


    2부. 소프트웨어 변경

    6장. 고칠 것은 많고 시간은 없고
    __발아 메소드
    ____장점과 단점
    __발아 클래스
    ____장점과 단점
    __포장 메소드
    ____장점과 단점
    __포장 클래스
    __요약

    7장. 코드 하나 바꾸는 데 왜 이리 오래 걸리지?
    __코드 이해하기
    __지연 시간
    __의존 관계 제거
    ____빌드 의존 관계
    __요약

    8장. 어떻게 기능을 추가할까?
    __테스트 주도 개발
    ____실패 테스트 케이스 작성
    ____컴파일
    ____테스트 통과시키기
    ____중복 제거
    ____실패 테스트 케이스 작성
    ____컴파일
    ____테스트 통과시키기
    ____중복 제거
    ____테스트 실패 케이스 작성
    ____컴파일
    ____테스트 통과시키기
    ____중복 제거
    __차이에 의한 프로그래밍
    __요약

    9장. 뚝딱! 테스트 하네스에 클래스 제대로 넣기
    __성가신 매개변수
    __숨겨진 의존 관계
    __복잡한 생성자
    __까다로운 전역 의존 관계
    __공포스러운 인클루드 의존 관계
    __양파껍질 매개변수
    __별명을 갖는 매개변수

    10장. 테스트 하네스에서 이 메소드를 실행할 수 없다
    __숨어있는 메소드
    __언어의 편리한 기능
    __탐지 불가능한 부작용

    11장. 코드를 변경해야 한다
    __영향 추론
    __전방 추론
    __영향 전파
    __영향 추론을 위한 도구
    __영향 분석을 통한 학습
    __영향 스케치의 단순화

    12장. 클래스 의존 관계, 반드시 없애야 할까?
    __교차 지점
    ____간단한 경우
    ____상위 수준의 교차 지점
    __조임 지점을 이용한 설계 판단
    __조임 지점의 함정

    13장. 변경해야 하는데, 어떤 테스트를 작성해야 할지 모르겠다
    __문서화 테스트
    __클래스 문서화
    __정해진 목표가 있는 테스트
    __문서화 테스트를 작성하기 위한 경험칙

    14장. 나를 미치게 하는 라이브러리 의존 관계

    15장. 애플리케이션에 API 호출이 너무 많다

    16장. 변경이 가능할 만큼 코드를 이해하지 못하는 경우
    __노트/스케치
    __표시 나열
    ____책임 분리
    ____메소드 구조의 이해
    ____메소드 추출
    ____변경 영향의 이해
    __스크래치 리팩토링
    __미사용 코드 삭제

    17장. 내 애플리케이션은 뼈대가 약하다
    __시스템의 스토리텔링
    __네이키드 CRC
    __대화 음미

    18장. 테스트 코드가 방해를 한다
    __클래스 명명 규칙
    __테스트 코드의 배치

    19장. 내 프로젝트는 객체 지향이 아니다
    __간단한 경우
    __어려운 경우
    __새로운 동작의 추가
    __객체 지향의 장점 이용
    __모든 것이 객체 지향적이다

    20장. 이 클래스는 너무 비대해서 더 이상 확장하고 싶지 않다
    __책임 파악
    __그 밖의 기법들
    __더 나아가기
    ____전략
    ____전술
    __클래스 추출을 마친 후

    21장. 반복되는 동일한 수정, 그만할 수는 없을까?
    __첫 번째 단계

    22장. ‘괴물 메소드’를 변경해야 하는데 테스트 코드를 작성하지 못하겠다
    __괴물 메소드의 다양한 종류
    ____불릿 메소드
    ____혼잡 메소드
    __리팩토링 자동화 도구를 사용해 괴물 메소드 공략하기
    __수동 리팩토링에 도전
    ____감지 변수 도입
    ____아는 부분 추출하기
    ____의존 관계 이삭줍기
    ____메소드 객체 추출
    __전략
    ____뼈대 메소드
    ____처리 시퀀스 발견
    ____우선 현재 클래스 내에서 추출
    ____작은 조각 추출
    ____추출을 다시 할 각오

    23장. 기존 동작을 건드리지 않았음을 어떻게 확인할 수 있을까?
    __초집중 모드에서 편집하기
    __단일 목적 편집
    __서명 유지
    __컴파일러 의존
    ____짝 프로그래밍

    24장. 어찌해야 할지 모르겠다. 나아질 것 같지 않아
    __3부 의존 관계 제거 기법
    __25장 의존 관계 제거 기법
    __매개변수 적응
    __메소드 객체 추출
    __정의 완성
    __전역 참조 캡슐화
    __정적 메소드 드러내기
    __호출 추출과 재정의
    __팩토리 메소드 추출과 재정의
    __get 메소드 추출과 재정의
    __구현체 추출
    __더 복잡한 예제
    __인터페이스 추출
    __인스턴스 위임 도입
    __정적 set 메소드 도입
    __연결 대체
    __생성자 매개변수화
    __메소드 매개변수화
    __매개변수 원시화
    __특징 끌어올리기
    __의존 관계 밀어 내리기
    __함수를 함수 포인터로 대체
    __전역 참조를 get 메소드로 대체
    __서브클래스화와 메소드 재정의
    __인스턴스 변수 대체
    __템플릿 재정의
    __텍스트 재정의

    부록. 리팩토링

    알라딘 중고
    품질 판정 가이드
    알라딘 중고 품질 판정 가이드
    품질등급 헌 상태 표지 책등 / 책배 내부 / 제본상태
    기본정보
    기본정보