{{ bookSummary.author }} 지음 {{ bookSummary.publishingCompany }} | {{ bookSummary.date }}
{{ bookSummary.bookType }}
더 나은 소프트웨어 설계를 위한 32가지 코드 정리법
한빛미디어
번역서
판매중
책소개
익스트림 프로그래밍의 창시자, 켄트 벡.
그의 수십 년 경험과 통찰이 담겨 있는 ‘경험적 소프트웨어 설계’ 노하우
* 저자와 옮긴이가 함께 만든 책* 옮긴이 노트(별책부록) 특별 구성: 켄트 벡과 옮긴이의 소통 기록 + 옮긴이 특별 부록
익스트림 프로그래밍(XP)의 창시자이자 소프트웨어 패턴의 선구자, 켄트 벡이 10년 만에 돌아왔습니다. 격변의 시기에 놓인 우리를 위한 그의 첫 번째 조언은, 시스템의 전체적인 구조를 생각하며 코드를 작성하고, 복잡한 코드는 논리적인 작은 조각으로 정리하는 방법입니다. 이 코딩 노하우를 32가지로 책에 간결하게 정리했으며, 소프트웨어 설계의 기반이 되는 결합도, 응집도, 설계 옵션, 비용 등에 대한 저자만의 인사이트도 함께 담았습니다. 더 나은 프로그래밍을 할 수 있는 방법이 바로 여기에 있습니다.
저자소개
켄트 벡
소프트웨어 패턴(Pattern), 테스트 주도 개발(Test Driven Development), 익스트림 프로그래밍(Extreme Programming, XP) 같은 아이디어들을 주장하면서 지속적으로 소프트웨어 공학의 교조에 도전하고 있습니다. 애자일 선언문의 서명자이며, 『테스트 주도 개발』(인사이트, 2014), 『켄트 벡의 구현 패턴』(에이콘출판사, 2008), 『익스트림 프로그래밍(2판)』(인사이트, 2006)을 포함한 많은 책의 저자입니다.
안영회
베터코드 CEO. 프로그래머로 사회 생활을 시작해서 IT 컨설팅과 IT 서비스 회사 경영자로 동종 업계에서 스무 해 이상 일하고 있습니다. 한때는 한국 스프링 사용자 모임(KSUG)을 만들어 운영했던 만큼 커뮤니티 활동과 지식 공유를 즐기고 있습니다.
목차
본권Part 1 코드 정리법Chapter 1 보호 구문Chapter 2 안 쓰는 코드Chapter 3 대칭으로 맞추기Chapter 4 새로운 인터페이스로 기존 루틴 부르기Chapter 5 읽는 순서Chapter 6 응집도를 높이는 배치Chapter 7 선언과 초기화를 함께 옮기기Chapter 8 설명하는 변수Chapter 9 설명하는 상수Chapter 10 명시적인 매개변수Chapter 11 비슷한 코드끼리Chapter 12 도우미 추출Chapter 13 하나의 더미Chapter 14 설명하는 주석Chapter 15 불필요한 주석 지우기 Part 2 관리Chapter 16 코드 정리 구분Chapter 17 연쇄적인 정리Chapter 18 코드 정리의 일괄 처리량Chapter 19 리듬Chapter 20 얽힘 풀기Chapter 21 코드 정리 시점 Part 3 이론Chapter 22 요소들을 유익하게 관계 맺는 일Chapter 23 구조와 동작Chapter 24 경제 이론: 시간 가치와 선택 가능성Chapter 25 오늘의 1달러가 내일의 1달러보다 크다Chapter 26 옵션Chapter 27 옵션과 현금흐름 비교Chapter 28 되돌릴 수 있는 구조 변경Chapter 29 결합도Chapter 30 콘스탄틴의 등가성Chapter 31 결합도와 결합도 제거Chapter 32 응집도Chapter 33 결론Part 4 참고 문헌Appendix A 참고 문헌 별책부록 - 『Tidy First?』 옮긴이 노트Part 1 켄트 벡과 옮긴이의 소통 기록Chapter 1 PREFACEChapter 2 1부 코드 정리법Chapter 3 2부 관리Chapter 4 3부 이론 Part 2 옮긴이 특별 부록Chapter 5 켄트 벡의 글을 번역하며 알게 된 것들Chapter 6 개발자가 테스트를 보는 세 가지 관점Chapter 7 소프트웨어 설계 20년 해 보고 깨달은 ‘좋은 설계’의 조건Chapter 8 느슨한 결합(loosely coupled) 원칙을 활용한 소프트웨어 설계Chapter 9 소프트웨어 ‘설계’의 정의는 변해야 한다
본권Part 1 코드 정리법Chapter 1 보호 구문Chapter 2 안 쓰는 코드Chapter 3 대칭으로 맞추기Chapter 4 새로운 인터페이스로 기존 루틴 부르기Chapter 5 읽는 순서Chapter 6 응집도를 높이는 배치Chapter 7 선언과 초기화를 함께 옮기기Chapter 8 설명하는 변수Chapter 9 설명하는 상수Chapter 10 명시적인 매개변수Chapter 11 비슷한 코드끼리Chapter 12 도우미 추출Chapter 13 하나의 더미Chapter 14 설명하는 주석Chapter 15 불필요한 주석 지우기
Part 2 관리Chapter 16 코드 정리 구분Chapter 17 연쇄적인 정리Chapter 18 코드 정리의 일괄 처리량Chapter 19 리듬Chapter 20 얽힘 풀기Chapter 21 코드 정리 시점
Part 3 이론Chapter 22 요소들을 유익하게 관계 맺는 일Chapter 23 구조와 동작Chapter 24 경제 이론: 시간 가치와 선택 가능성Chapter 25 오늘의 1달러가 내일의 1달러보다 크다Chapter 26 옵션Chapter 27 옵션과 현금흐름 비교Chapter 28 되돌릴 수 있는 구조 변경Chapter 29 결합도Chapter 30 콘스탄틴의 등가성Chapter 31 결합도와 결합도 제거Chapter 32 응집도Chapter 33 결론
Part 4 참고 문헌Appendix A 참고 문헌
별책부록 - 『Tidy First?』 옮긴이 노트
Part 1 켄트 벡과 옮긴이의 소통 기록Chapter 1 PREFACEChapter 2 1부 코드 정리법Chapter 3 2부 관리Chapter 4 3부 이론
Part 2 옮긴이 특별 부록Chapter 5 켄트 벡의 글을 번역하며 알게 된 것들Chapter 6 개발자가 테스트를 보는 세 가지 관점Chapter 7 소프트웨어 설계 20년 해 보고 깨달은 ‘좋은 설계’의 조건Chapter 8 느슨한 결합(loosely coupled) 원칙을 활용한 소프트웨어 설계Chapter 9 소프트웨어 ‘설계’의 정의는 변해야 한다
출판사리뷰
Kent Beck is Back! 그가 20년 동안 준비한 시리즈의 첫 책! 지금 바로 만나보세요!켄트 벡이 20년 넘게 간직한 사명 ‘괴짜들이 세상에서 안전하다고 느끼도록 돕는다’, 그 첫 번째 결실은 [Tidy First?], 바로 코드 정리법입니다. 코딩을 하는 누구나 실무에 적용하여 즉각적인 효과를 볼 수 있는 코드 정리법을 32가지로 정리했으며, 그와 함께 저자가 40년 이상을 프로그래머로 살면서 얻은 개발 및 소프트웨어 설계에 대한 인사이트를 이 책에 가득 담았습니다. 또한, 옮긴이가 번역을 진행하며 저자와 나눈 대화를 정리한 <켄트 벡과 옮긴이의 소통 기록>과 옮긴이의 번역 소회와 개발 인사이트가 담긴 <옮긴이 특별 부록>을 별책부록으로 구성하여 켄트 벡과 옮긴이, ‘두 장인의 대담’을 눈앞에서 지켜보는 것과 같은 경험도 함께 선사합니다. 앞으로 켄트 벡이 써 내려갈 새로운 시리즈의 시작을 어서 만나보세요! “Make the change easy, then make the easy change”“변화를 쉽게 만들고, 그 다음에는 쉽게 변화하라” _켄트 벡 주요 내용소프트웨어 설계의 작동 방식과 원리에 대한 기본 이론 이해시스템의 동작 변경과 구조 변경 간의 차이점 탐색프로그래밍 경험 향상을 위한 정리 우선순위 결정법작고 안전한 단계에서 큰 변경을 이끄는 방법소프트웨어 설계와 인간관계의 실천
Kent Beck is Back! 그가 20년 동안 준비한 시리즈의 첫 책! 지금 바로 만나보세요!
켄트 벡이 20년 넘게 간직한 사명 ‘괴짜들이 세상에서 안전하다고 느끼도록 돕는다’, 그 첫 번째 결실은 [Tidy First?], 바로 코드 정리법입니다. 코딩을 하는 누구나 실무에 적용하여 즉각적인 효과를 볼 수 있는 코드 정리법을 32가지로 정리했으며, 그와 함께 저자가 40년 이상을 프로그래머로 살면서 얻은 개발 및 소프트웨어 설계에 대한 인사이트를 이 책에 가득 담았습니다. 또한, 옮긴이가 번역을 진행하며 저자와 나눈 대화를 정리한 <켄트 벡과 옮긴이의 소통 기록>과 옮긴이의 번역 소회와 개발 인사이트가 담긴 <옮긴이 특별 부록>을 별책부록으로 구성하여 켄트 벡과 옮긴이, ‘두 장인의 대담’을 눈앞에서 지켜보는 것과 같은 경험도 함께 선사합니다. 앞으로 켄트 벡이 써 내려갈 새로운 시리즈의 시작을 어서 만나보세요!
“Make the change easy, then make the easy change”“변화를 쉽게 만들고, 그 다음에는 쉽게 변화하라”
_켄트 벡
주요 내용
독자리뷰
켄트 벡은 정말 유명한 사람입니다.
애자일 관련 서적을 읽어본 경험이 있는 사람이라면, 적어도 한번은 들어봤을 이름이거든요. 저는 제가 읽은 책의 내용을 정리하는 습관을 가지고 있는데요. 제가 책을 읽고 정리한 내용을 검색해보니 켄트 벡의 이름을 직접 언급한 책이 22권이 있었습니다. ( 물론, 제가 정리만 하지 않았지, 다른 책에서도 상당수 켄트 벡의 이름을 언급했을거라 짐작합니다. )
켄트 벡은 선구자적인 사람입니다.
<클린 코드> 시리즈의 저자인 로버트 C 마틴은 켄트 벡에 대해서 다양한 이야기를 했는데요. <클린 코더>라는 책에서는 "테스트 주도 개발"을 설명하면서 이런 말을 하고 있습니다.
세상 물정을 알게 되자 어떤 것이든 곧장 내팽개치면 안 된다는 사실을 알게 됐으며 특히 켄트 벡 같은 사람이 말할 때는 절대 그래선 안 된다는 사실도 알게 됐다.로버트 C 마틴 <클린 코더>
세상 물정을 알게 되자 어떤 것이든 곧장 내팽개치면 안 된다는 사실을 알게 됐으며 특히 켄트 벡 같은 사람이 말할 때는 절대 그래선 안 된다는 사실도 알게 됐다.
로버트 C 마틴 <클린 코더>
특히 1996년 클라이슬러 사의 프로젝트를 수행하던 중 고안해 완성했다는 "익스트림 프로그래밍"이라는 애자일 개발 방식은 지금까지 많은 사람들이 전혀 생각하지 못했던 기발한 아이디어와 실천법으로 가득찬 방식이었습니다. 저는 켄트 벡이 쓴 <익스트림프로그래밍>을 오래전에 읽었는데요. 책을 읽는 내내 충격에서 벗어나오지 못했습니다. 제 머리로는 상상도 할 수 없는 방법을 고안해 내서 실천법으로 만들어서 책을 쓸 수 있다니요.
<프로그래머의 길 멘토에게 묻다>의 저자들은 "프레드릭 브룩스", "스티브 맥코넬", 그리고 "켄트 벡"을 동일 선상에 놓고 다음과 같이 말합니다.
이들이 쓴 책에서 얻을 수 있는 방대한 지혜는 대역폭이 더 큰 정보로도 대신할 수 없다.
개발자라면, 반드시 귀기울여 그 이야기를 들어야 할 사람이 바로 이 세 인물들이라는 말이죠.
켄트 벡은 "테스트 주도 개발"의 창시자입니다.
저는 <테스트 주도 개발>이라는 책을 두 번 읽어봤습니다. 거의 십년을 간격으로 읽었는데요. 처음 읽을 때 보다 두번째 읽을 때 더 많은 것을 이해할 수 있었습니다. 전혀 지루하지 않았고, 두번째 읽으면서도 많은 것을 깨달을 수 있었습니다. 이렇게 여러 차례 읽을 때마다 깨달음을 진보하게 하는 책을 "고전"이라고 부르는데요. 켄트 벡의 책은 소프트웨어 개발 분야의 "고전"이라 불려도 손상 없을 만큼 귀중한 깨달음을 전하고 있습니다.
<테스트 주도 개발>은 소프트웨어 코드를 작업할 때 테스트를 먼저 작성하고 코드를 작성하는 방식 즉 순서를 뒤 바꿔서 하는 것인데요. 이건, 단순히 순서를 바꾸는게 아니라 소프트웨어 개발자가 코드에 대해 어떤 사고 방식을 가지고 작업을 해야 하는지를 깨닫게 해주는 것입니다. 그래서 <테스트 주도 개발> 뒷쪽에 별첨으로 글을 쓴 마틴 파울러는 다음과 같이 이야기 했습니다.
우리가 가진 화려한 도구들에도 불구하고, 프로그래밍은 여전히 어렵다. 동시에 여러 개의 공을 공중에 띄워놓고 저글링할 때처럼 프로그래밍 할 때도 잠시만 집중을 놓치면 모든 게 무너져 버릴 것 같은 느낌을 받은 적이 많다. 테스트 주도 개발은 이런 느낌을 감소시키는 데 도움이 되고 그 결과로 신속한 느긋함을 얻게 된다.
다시 말해 공 한개로 저글링 하는 상태를 만들어 주는 방법이라는 겁니다. 우리의 사고의 복잡함을 극복하게 해주는 아주 근본적인 해결책인 것이죠.
켄트 벡을 인용하는 책들에서 켄트 벡의 말을 인용할 때 드는 느낌은, 마치 교주의 말을 인용하는 신도들의 모습같습니다. 켄트 벡은 XP 개발방식과 다수의 극단적(extream)으로 뛰어난 실천법을 이 세상에 전파한 IT업계의 선지자 인것입니다.
켄트 벡의 가르침은 깨달음을 선사합니다.
마지막으로 켄트 벡의 가르침은 깨달음을 선사합니다. 저는 켄트벡의 책 중 <테스트 주도 개발>, <켄트 벡의 구현 패턴> 그리고 <익스트림 프로그래밍>을 읽었습니다. 책마다 깨달음의 경구가 아주 쉬운 단어들로 나열되어 있었는데요. 읽을 때마다 놀라운 깨달음을 주는 이야기들입니다.
그리고, <켄트 벡의 Tidy First>역시 그런 깨달음을 제공해주는 책이더군요. 비록 다른 책들에 비해 상당히 짧은 분량이긴 하지만, 깨달음의 분량은 다른 책 50권 100권에 맞먹지 않을까 싶습니다. 정말 가장 중요한 걸, 너무 평범한 이야기로 풀어내고 있어서, 당황스럽습니다.
저는 책을 읽으면 표시를 해 뒀다가 블로그에 표시한 내용을 타이핑 한다음 책에 대한 리뷰를 쓰는 루틴을 가지고 있습니다. 하지만 아주 가끔 책을 아주 천천히 읽고, 타이핑도 아주 천천히 할 때가 있습니다. 너무 빨리 읽어버리면, 그 책에서 전달해주는 고결한 깨달음을 많이 놓칠것 같고, 너무 빨리 정리하고 넘어가면, 뇌리에서 그 책의 가르침의 여운이 빨리 사라지게 될 것 같아서 입니다. <켄트 벡의 Tidy First>가 바로 그런 책이었습니다. 분량이 너무 아쉬운 정도라서, 읽기는 금방 읽어버렸지만, 정리하는 건 좀 오래 가끔 책을 열고 타이핑 해보려 합니다.
그래서, 이번만큼은 루틴을 깨고, 책을 읽은 다음 정리를 몇장 하지 않고, 바로 리뷰를 쓰기 시작했습니다.
그만큼 이 책은 중요한 책이라 생각합니다. 개발자라면 꼭, 읽어보고 켄트 벡의 깨달음을 전달 받으면 좋겠습니다.
"한빛미디어의 도서 지원을 받아 작성한 리뷰입니다"
켄트벡이니 내용은 좋겠지요.
하지만 두께에 비해서 좀 비싼감이 있네요 (그래서 별 세개입니디)
오탈자 보기
정가 : 22,000원
판매가 : 19,800원(10% off)
마일리지 : 1,100점 (5%)
배송료 안내
무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.
리뷰쓰기
* 리뷰 작성시 유의사항
글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.
1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨). 2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.
오탈자 등록
도서 인증
* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.
* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.
* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.
해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.장바구니로 이동하시겠습니까?