읽기 좋은 코드가 좋은 코드다 더 나은 코드를 작성하는 간단하고 실전적인 테크닉

읽기 좋은 코드가 좋은 코드다 더 나은 코드를 작성하는 간단하고 실전적인 테크닉

$18.00
Description
이 책은 코드를 작성할 때 언제나 적용할 수 있는 기본적인 원리와 실전적인 기술에 초점을 맞추고 있다. 누구나 쉽게 이해할 수 있는 코드를 예제로 사용하고, 각 장은 코딩과 관련한 다양한 측면을 파고든다. 그리하여 여러분이 어떻게 이해하기 쉬운 코드를 작성할 수 있는지를 보여준다. 딱 맞는 이름 짓기, 주석 달기, 포맷팅 등을 어떤 코드에도 적용할 수 있는 도움말과 함께 설명한다. 프로그램의 루프, 논리, 그리고 변수를 정리해서 복잡성과 혼동을 감소시킨다. 한 번에 하나의 일을 처리하도록 코드의 블록을 정리하는 등, 문제를 함수 수준에서 공략한다. 철저하고 간결하면서 동시에 읽기 쉬운, 효과적인 테스트 코드를 작성한다.

저자

더스틴보즈웰,트레버파우커

저자더스틴보즈웰은칼텍에서컴퓨터사이언스학사학위를받았고,UC샌디애고에서석사학위를받았다.5년동안구글에서근무하면서웹크롤링인프라스트럭처를비롯한다양한프로젝트를경험했다.수많은웹사?이트를개발했고‘빅데이터’와‘기계학습’분야에관심이있다.

목차

목차
1장.코드는이해하기쉬워야한다
__01.무엇이코드를‘더좋게’만드는가?
__02.가독성의기본정리
__03.분량이적으면항상더좋은가?
__04.이해를위한시간은다른목표와충돌하는가?
__05.어려운부분
PARTI.표면적수준에서의개선
2장.이름에정보담기
__01.특정한단어고르기
__02.tmp나retval같은보편적인이름피하기
__03.추상적인이름보다구체적인이름을선호하라
__04.추가적인정보를이름에추가하기
__05.이름은얼마나길어야하는가?
__06.이름포메팅으로의미를전달하라
__요약
3장.오해할수없는이름들
__01.예:Filter()
__02.예:Clip(text,length)
__03.경계를포함하는한계값을다룰때는min과max를사용하라
__04.경계를포함하는범위에는first와last를사용하라
__05.경계를포함하고/배제하는범위에는begin과end를사용하라
__06.불리언변수에이름붙이기
__07.사용자의기대에부응하기
__08.예:이름을짓기위해서복수의후보를평가하기
__요약
4장.미학
__01.미학이무슨상관인가?
__02.일관성과간결성을위해서줄바꿈을재정렬하기
__03.메소드를활용하여불규칙성을정리하라
__04.도움이된다면코드의열을맞춰라
__05.의미있는순서를선택하고일관성있게사용하라
__06.선언문을블록으로구성하라
__07.코드를‘문단’으로쪼개라
__08.개인적인스타일대일관성
__요약
5장.주석에담아야하는대상
__01.설명하지말아야하는것
__02.생각을기록하라
__03.코드를읽는사람의입장이되어라
__04.마지막고찰-글쓰는두려움을떨쳐내라
__요약
6장명확하고간결한주석달기
__01.주석을간결하게하라
__02.모호한대명사는피하라
__03.엉터리문장을다듬어라
__04.함수의동작을명확하게설명하라
__05.코너케이스를설명해주는입/출력예를사용하라
__06.코드의의도를명시하라
__07.이름을가진함수파라미터주석
__08.정보축약형단어를사용하라
__요약
PARTII.루프와논리를단순화하기
7장.읽기쉽게흐름제어만들기
__01.조건문에서인수의순서
__02.if/else블록의순서
__03.(삼항연산자로알려진)?:를이용하는조건문표현
__04.do/while루프를피하라
__05.함수중간에서반환하기
__06.악명높은goto
__07.중첩을최소화하기
__08.실행흐름을따라올수있는가?
__요약
8장.거대한표현을잘게쪼개기
__01.설명변수
__02.요약변수
__03.드모르간의법칙사용하기
__04.쇼트서킷논리오용하기
__05.예:복잡한논리와씨름하기
__06.거대한구문나누기
__07.표현을단순화하는다른창의적인방법들
__요약
9장.변수와가독성
__01.변수제거하기
__02.변수의범위를좁혀라
__03.값을한번만할당하는변수를선호하라
__04.마지막예
__요약
PARTIII.코드재작성하기
10장.상관없는하위문제추출하기
__01.소개를위한예:findClosestLocation()
__02.순수한유틸리티코드
__03.일반적인목적의코드
__04.일반적인목적을가진코드를많이만들어라
__05.특정한프로젝트를위한기능
__06.기존의인터페이스를단순화하기
__07.자신의필요에맞춰서인터페이스의형태를바꾸기
__08.지나치게추출하기
__요약
11장.한번에하나씩
__01.작업은작을수있다
__02.객체에서값추출하기
__03.더큰예제
__요약
12장.생각을코드로만들기
__01.논리를명확하게설명하기
__02.라이브러리를알면도움이된다
__03.논리를쉬운말로표현하는방법을더큰문제에적용하기
__요약
13장.코드분량줄이기
__01.그기능을구현하려고애쓰지마라-그럴필요가없다
__02.요구사항에질문을던지고질문을잘게나누어분석하라
__03.코드베이스를작게유지하기
__04.자기주변에있는라이브러리에친숙해져라
__05.예:코딩대신유닉스도구를활용하기
__요약
PARTIV.선택된주제들
__14장.테스트와가독성
__01.읽거나유지보수하기쉽게테스트를만들어라
__02.이테스트는어떤점이잘못되었을까?
__03.이테스트를더읽기쉽게만들기
__04.읽기편한메시지만들기
__05.좋은테스트입력값의선택
__06.테스트함수에이름붙이기
__07.이테스트코드는무엇이잘못되었는가?
__08.테스트에친숙한개발
__09.지나친테스트
__요약
15장.‘분/시간카운터’를설계하고구현하기
__01.문제
__02.클래스인터페이스정의하기
__03.시도1:순진한해결책
__04.시도2:컨베이어벨트설계
__05.시도3:시간-바구니설계
__06.3가지해결책비교하기
__요약
Appendix추가적인도서목록
__01.높은수준의코드를쓰는방법을다루는책들
__02.다양한프로그래밍주제에대한책들
__03.역사적사례를담고있는책들
__찾아보기

출판사 서평

출판사서평
♣더나은코드를작성하는간단하고실전적인테크닉!
이책은매우읽기편한코드를작성하는방법을설명한다.이책을관통하는핵심아이디어는‘코드는이해하기쉬워야한다’는것이다.자신의코드를다른사람이읽고이해할때걸리는시간을최소로만들어야한다.그렇다고어려운기법을장황히설명하지않는다.실전적인간단한기법만으로도코드를훨씬읽기편하게만들수있게이끌어준다.
♣개발하는언어에종속되지않아누구나읽을수있다!
이책은바로이아이디어를C++,파이썬,자바스크립트,자바등을...
♣더나은코드를작성하는간단하고실전적인테크닉!
이책은매우읽기편한코드를작성하는방법을설명한다.이책을관통하는핵심아이디어는‘코드는이해하기쉬워야한다’는것이다.자신의코드를다른사람이읽고이해할때걸리는시간을최소로만들어야한다.그렇다고어려운기법을장황히설명하지않는다.실전적인간단한기법만으로도코드를훨씬읽기편하게만들수있게이끌어준다.
♣개발하는언어에종속되지않아누구나읽을수있다!
이책은바로이아이디어를C++,파이썬,자바스크립트,자바등을포함한여러언어로작성된코드를예로들며설명한다.우리는각언어에종속된고급기능을일부러사용하지않았기때문에,설령이런언어를다알지못한다고해도책을읽는데는아무런어려움이없을것이다.
♣대상독자
-프로그래밍전공학생,소프트웨어개발자,관리자,CTO
♣자신의코드를남에게보여주기가꺼려집니까?
프로그래머인우리는너무엉망인데다가버그투성이라서머리가지끈거리는코드를만나곤한다.이책의저자인더스틴보즈웰과트레버파우커는지난5년동안(자신들의코드를포함한)수백개의‘나쁜코드’를분석하고,그러한코드가‘왜나쁜지’,그리고코드를‘어떻게개선할수있는지’를연구했다.그들이내린결론은무엇일까?그것은바로다른사람들이코드를읽고이해하는데걸리는시간이최소한이되도록작성해야한다는것이다.여기에서다른사람이란자기자신도포함된다!
♣체계적이고효과적으로코드를작성하고있나요?
이책은코드를작성할때언제나적용할수있는기본적인원리와실전적인기술에초점을맞추고있다.누구나쉽게이해할수있는코드를예제로사용하고,각장은코딩과관련한다양한측면을파고든다.그리하여여러분이어떻게이해하기쉬운코드를작성할수있는지를보여준다.
딱맞는이름짓기,주석달기,포맷팅등을어떤코드에도적용할수있는도움말과함께설명한다.
프로그램의루프,논리,그리고변수를정리해서복잡성과혼동을감소시킨다.
한번에하나의일을처리하도록코드의블록을정리하는등,문제를함수수준에서공략한다.
철저하고간결하면서동시에읽기쉬운,효과적인테스트코드를작성한다.
추천평(추천사)
"자신이작성한코드가나중에그코드를읽게될사람에게어떤영향을주는지의식하는일은소프트웨어개발의중요한일부다.이책은독자로하여금바로이러한문제의식을바탕으로여러측면을경험하게하고,이러한내용을생생한예를통해서효과적으로설명한다"
-마이클헝거,소프트웨어개발자,네오데크놀로지
“이책을번역하기로결정한과정은다소우연이었지만,번역을하는과정에서내가평소에생각하던부분들이이렇게책으로정리되어나왔다는사실에안도감과고마움을느꼈다.내가지금까지경험한바에의하면,이책을읽지않아도좋은,원래부터간결하고효율적인코드를작성하는능력을가진프로그래머는열에하나에불과하다.자신이그하나에속한다는확신이없으면,이책을꼭읽어보기바란다”
-임백준,소프트웨어개발자&IT라이터