
000 | 00788namccc200253 k 4500 | |
001 | 000045305825 | |
005 | 20100805023917 | |
007 | ta | |
008 | 061110s2006 ulka 001a kor | |
020 | ▼a 8979144458 ▼g 13000 | |
040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 005.1 ▼2 22 |
090 | ▼a 005.1 ▼b 2006j | |
100 | 1 | ▼a Pugh, Kenneth |
245 | 1 0 | ▼a 프리팩토링 : ▼b 효과적인 시스템 설계와 변경을 위한 프리팩토링 지침 65가지 / ▼d 켄 푸 저 ; ▼e 서우석 역. |
246 | 1 9 | ▼a Prefactoring : extreme abstraction; extreme separation; extreme readability |
260 | ▼a 서울 : ▼b 한빛미디어 , ▼c 2006. | |
300 | ▼a 312 p. : ▼b 삽도 ; ▼c 24 cm. | |
500 | ▼a 색인수록 | |
650 | 0 | ▼a Computer software ▼x Development. |
700 | 1 | ▼a 서우석 , ▼e 역 |
945 | ▼a KINS |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 005.1 2006j | Accession No. 111387090 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Main Library/Monographs(3F)/ | Call Number 005.1 2006j | Accession No. 111387091 | Availability Available | Due Date | Make a Reservation | Service |
No. 3 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.1 2006j | Accession No. 121135648 | Availability Available | Due Date | Make a Reservation | Service |
No. 4 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.1 2006j | Accession No. 121135649 | Availability Available | Due Date | Make a Reservation | Service |
No. 5 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 005.1 2006j | Accession No. 151225354 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 005.1 2006j | Accession No. 111387090 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Main Library/Monographs(3F)/ | Call Number 005.1 2006j | Accession No. 111387091 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.1 2006j | Accession No. 121135648 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.1 2006j | Accession No. 121135649 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 005.1 2006j | Accession No. 151225354 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
주요내용
추상화를 하려면 끝까지 추상화하라
고객의 언어를 사용하라
결합된 것을 분할하는 것보다 분할된 것을 결합하기가 더 쉽다
찬 공기가 들어오지 못하도록 하라
크게 계획하고 지역적으로 개발하라
꿀 먹은 벙어리가 되지 마라
코드로 의사소통을 하라
목적지를 알기 전에는 속력을 내지 마라
디버깅하기 가장 쉬운 코드는 작성되지 않은 코드다
이 책의 특징과 장점
이 책은 65가지에 이르는 프리팩토링 지침들을 부록 A에서 카테고리별로, 가나다순으로 일목요연하게 정리를 해놓아서 본문에서 해당 지침들을 쉽게 찾을 수 있도록 배려하였다. 독자는 프리팩토링 지침들을 쉽게 확인할 수 있고, 본서의 내용을 빠르게 되새김할 수 있다.
다른 누군가의 패턴이 다른 사람에게는 설계 지침이 된다. 이 책의 지침과 독자들이 가지고 있는 지침을 비교해봄으로써 독자들의 패러다임이 갖는 장단점을 이해하는 데 도움을 준다.
어떤 독자를 위한 책인가?
객체 지향 디자인의 기본적인 개념을 이해하고 있는 개발자
객체 지향 언어에 대한 일정 수준 이상의 지식이 있는 개발자
Information Provided By: :

Author Introduction
켄 푸(지은이)
Pugh-Killeen 연합의 회장이다. Linux/UNIX의 객체 지향 설계부터 시스템 개발 실무에 이르기까지 다양한 기술적인 주제에 대해서 컨설팅 및 교육, 조언, 검증 등을 주 업무로 한다.
서우석(옮긴이)
GSShop 벤처투자팀에서 기업 성장(Growth Hacking)을 담당하고 있으며, 안철수연구소에서 보안 관련 업무를 시작으로 잡플래닛 CTO, 요기요 서비스로 유명한 알지피코리아 CTO, 데일리호텔 CTO를 역임한, 보안 전문가이자 IT 베테랑이다. Microsoft MVP 활동과 S/W Maestro 과정 멘토링, 디버그랩 운영을 통해 국내 IT 개발자들과 프로그래밍 기술을 공유하고 프로그래밍 실무 지침서로 유명한 ≪CODE COMPLETE≫ 제2판을 번역해 소프트웨어 구현 실무 정보 소개로 많은 호응을 받았다. 현재는 O2O 기반의 IT 서비스 전문가로서 이커머스 운영 및 수익 창출에 대한 지식 나눔에 앞장서고 있다.

Table of Contents
목차 추천사 역자 서문 저자 서문 Chapter 1 프리팩토링 개론 = 23 프리팩토링이란 무엇인가? = 24 세 가지 극단적인 기법 = 25 추상화 = 25 관심 사항의 분리 = 25 가독성 = 26 지침들에 대한 소개 = 26 상황이 가장 중요하다 = 27 자신의 방식에 익숙해져라 = 28 경험을 회고하라 = 28 이 책의 상황 = 30 Chapter 2 요구 사항 작성 = 33 샘을 만나다 = 34 개발자 팀 = 34 샘의 요구 사항 = 35 샘의 유스 케이스 = 35 능력 = 38 불필요한 개발 피하기 = 38 이름의 의미가 무엇인가? = 39 분할 대 결합 = 42 클럼핑 = 44 추상화 = 45 단순한 문자열이 아니다 = 47 상수 피하기 = 50 프로토타입은 천 마디 말과 같다 = 51 Chapter 3 일반적인 개발 이슈 = 53 큰 그림 먼저 = 54 인터페이스 계약 = 55 검증 = 57 코드로 말하라 = 59 암시적인 방법과 명시적인 방법 = 60 생략하지 말고 늘여 써라 = 61 이해할 수 있는 이름을 사용하라 = 62 코드의 철자를 검사하라 = 63 주어진 환경에 맞도록 방식을 변경하라 = 63 일관성이 곧 단순함이다 = 64 프리팩토링 태도 = 65 반복하지 마라 = 67 가정과 결정에 대한 문서화 = 67 이탈(Deviation)과 에러(Error) 처리하기 = 68 고장 거리 = 70 사용자 메시지 = 72 어설션 = 73 속도 = 73 스프레드시트 수수께끼 = 76 그래픽 예제 = 77 담당자는 누구? = 78 툴은 툴이다. 현명하게 사용하라 = 80 IDE 다루기 = 80 여러 가지 툴들 = 80 Chapter 4 큰 그림 그리기 = 83 나머지 이야기 = 84 프로세스 = 85 분석 정체 = 86 설계 정체 = 87 초기 설계 = 88 크게 계획하고 지엽적으로 설계하라 = 91 기능 테스팅 = 93 프랙탈은 어디에든 있다 = 95 테스트 피드백 = 97 테스팅 품질 = 98 보안 = 98 Chapter 5 클래스 작성 = 101 카테고리와 클래스 = 102 서로 다른 클래스들 = 102 서로 다른 객체들 = 104 선언과 실행 = 106 적절한 상속 = 107 텍스트로 의사소통하라 = 110 하나 이상의 객체 = 111 Chapter 6 클래스 살펴보기 = 115 클래스 격언을 따르라 = 116 응집도 = 116 결합 = 117 객체의 세 가지 법칙 = 118 용도에 따라서 클래스가 결정된다 = 120 다형성 = 123 상속을 사용하는 방법 = 123 인터페이스를 사용하는 방법 = 124 한 가지 간단한 일 = 127 정책과 구현 = 129 극단적인 이름 작성 = 130 함수 오버로드 = 130 Chapter 7 완성 단계 = 133 프로젝트 진행 상황 = 134 관심 사항의 분리 = 137 대여 계약의 계산 = 139 대여 계약의 생성 = 142 보고서 출력하기 = 143 변경 및 영향 = 143 새로운 시스템으로 마이그레이션 = 144 지금 사용되는 데이터 읽어 들이기 = 144 잠재적인 문제점에 대한 예측 = 146 고유함 결정하기 = 147 Chapter 8 첫 번째 릴리즈 = 149 백문이 불여일견 = 150 회고시간 = 150 시스템의 현재 상태 = 152 연산 인터페이스 = 152 추상 데이터 타입 = 153 환경 구성 = 154 테스팅 = 154 테스트와 제품 = 155 테스팅 유연성 = 156 이탈과 에러 처리 = 157 에러와 이탈 알리기 = 157 이탈 규약들 = 157 파일을 임포트할 때 발생하는 에러들 = 159 간단한 프리팩토링 = 159 분할과 결합 = 159 프리팩토링 태도를 취하라 = 160 첫 번째 릴리즈 반복 = 160 때때로 이론과 실제는 일치하지 않는다 = 161 의도하지 않은 결합 = 161 완전한 것은 아무 것도 없다 = 161 언제나 예외는 있다 = 162 약간의 오해 = 163 그 밖의 클래스들 = 164 Chapter 9 연관과 상태 = 167 샘의 새로운 요구 사항 = 168 담당자 결정 = 169 담당 클래스 = 169 연관 클래스 = 170 객체의 상태 = 171 상태 다이어그램 = 172 이진 상태의 표현 = 173 두 가지 이상의 상태 = 173 가능한 모든 경우를 확인하라 = 175 Chapter 10 인터페이스와 적응 = 177 카탈로그 검색 유스 케이스 = 178 인터페이스 설계 = 180 CD란 무엇인가? = 181 약간 성급한 걱정 = 182 인터페이스 개발 = 184 인터페이스 테스팅 = 185 인터페이스 분할 = 186 작동하는 기능 = 187 한계 설정 = 188 공통적인 코드 = 189 Chapter 11 우편번호와 인터페이스 = 191 적응 = 192 책임 전가 = 196 작성하지 않은 코드 = 198 애스펙트 지향 프로그래밍 = 199 많든 적든, 그게 그거 = 200 간접 지정 = 201 로깅 = 204 패러다임 불일치 = 206 Chapter 12 보고서 추가 = 207 멋진 보고서 = 208 과유불급(過猶不及) = 208 다시 보는 스프레드시트 수수께끼 = 209 변경이 발생하다 = 211 내보내기 = 214 Chapter 13 송장, 신용카드, 할인 = 217 다음 단계 = 218 장애 처리 = 220 테스트 계획 수립 = 222 고객의 언어 = 223 보안과 개인정보 보호 = 227 보안 = 227 개인정보 보호 = 227 Chapter 14 샘이 매장을 확장하다 = 229 두 번째 가게 = 230 새로운 개발 = 233 인터페이스 계약 = 233 찬 공기가 들어오지 못하도록 하라 = 234 세 번째 가게 = 235 통화 융통성 = 235 언어 융통성 = 238 샘과 작별 = 239 일반화 = 240 Chapter 15 프린트 서버 예제 = 241 소개 = 242 시스템 = 242 Message 클래스 = 244 구체적인 메시지 = 245 메시지 처리 = 246 환경 = 249 예제 메시지 = 249 테스트 = 251 로깅 = 252 추가적인 분할 = 253 에필로그 = 256 Chapter 16 스팸 방지 예제 = 257 상황 = 258 환경 = 258 SMTP = 259 상태 다이어그램 = 261 스팸 검사 = 263 ReceivingMailServer 클래스 = 264 Response 클래스 = 267 프로세스 메서드 = 268 MailDTO 클래스 = 269 명령 처리 = 271 다른 방법 = 272 ReceivedMailExaminer = 273 또 다른 인터페이스 = 274 다른 방식의 책임 부여 = 274 MailReport = 275 MailExaminers 인터페이스 = 275 효율을 위한 고려 사항 = 277 관심 사항의 분리 = 278 전체 흐름 = 279 에필로그 = 282 부록 A 지침과 원칙들 = 283 부록 B 소스 코드 = 294