유지보수가쉬운파이썬코드를만드는비결
이책은소프트웨어디자인에관심이있거나파이썬에대해보다자세히알고싶어하는모든개발실무자를대상으로하고있다.새로시작하는프로젝트또는기존시스템에좋은파이썬코딩기술을적용하여효율성을높이고비용을절약하고자하는팀리더나시니어엔지니어에게도많은도움이될것이다.
이책의구성은1장부터10장까지단계적으로어려운내용이소개되고있기때문에처음부터차례대로내용을완전히숙지하고다음장으로넘어가는것이좋다.
파이썬의기본개념과함수,유틸리티와같은내용을소개하여문제를효율적으로해결하기위한기초부터데코레이터,디스크립터나비동기프로그래밍과같은고급주제까지폭넓게다루고있다.뿐만아니라일부주제는언어내부의동작원리를분석하기때문에파이썬에대해더깊이이해하는데도움이될것이다.또한데이터처리용도로파이썬을사용하는경우에도활용할수있도록여러도구를소개하고상용환경에서사용하기위한환경설정이나모범사례도소개하고있다.
-이책에서다루는내용
1장코드포매팅과도구
파이썬에서개발환경을설정하는데필요한주요도구에대해소개한다.파이썬개발을시작하기위해알아야할기초지식뿐만아니라코드정적분석,문서화,타입검사와코드포매팅도구를사용해가독성이높은코드를작성하기위한가이드라인을제시한다.코딩표준을이해하는것은중요하지만좋은의도에만의존해서는안되기때문에이장에서는도구를효과적으로사용할수있는방법에대해서알아본다.
2장파이썬스러운코드
앞으로계속사용하게될파이썬의첫번째개념을살펴본다.파이썬의여러기능이어떻게사용되도록설계되었는지살펴본다.훨씬품질좋은파이썬스러운코드에대한근본아이디어를살펴본다.
3장좋은코드의일반적인특징
유지보수가쉬운코드작성에초점을두고소프트웨어엔지니어링의일반적인원칙을검토한다.이전장에서배운지식을활용하여일반적으로말하는깔끔한디자인이무엇인지살펴보고,그것을파이썬으로어떻게구현해야하는지살펴본다.
4장SOLID원칙
객체지향소프트웨어를위한디자인원칙에대해다룬다.이약자(SOLID)는소프트웨어공학에서사용되는용어로각각의원칙을파이썬에어떻게적용하는지살펴볼것이다.특히의존성주입을통해유지보수가쉬운코드를작성하는법에대해서배운다.
5장데코레이터를사용한코드개선
파이썬의가장훌륭한기능중하나인데코레이터를살펴본다.함수또는클래스에데코레이터를작성하는방법을이해한다음에데코레이터를코드재사용,책임분리,기능세분화에어떻게사용하는지살펴본다.또한복잡하고반복적인함수서명을데코레이터를사용해단순화하는방법을알아본다.
6장디스크립터로더멋진객체만들기
객체지향설계의수준을새로운차원으로끌어올리는파이썬의디스크립터에대해알아본다.디스크립터는프레임워크나도구개발시유용한기능인데이것을잘사용하면코드의가독성을높이고재사용성을높일수있다.개정판에서보강된내용은더높은수준에서파이썬을이해하는데도움이될것이다.
7장제너레이터,이터레이터및비동기프로그래밍
제너레이터는아마도파이썬에서가장멋진기능일것이다.반복(iteration)이라는파이썬의핵심개념을사용해새로운프로그래밍패러다임을제시한다.제너레이터와이터레이터를사용해프로그램을작성해보고이를통해알게된내용을토대로코루틴(coroutine)과비동기프로그래밍의기본에대해서알아본다.그리고비동기프로그래밍과비동기반복을위한새로운구문(그리고새로운매직메서드)을소개하는것으로마무리한다.
8장단위테스트와리팩토링
유지보수가필요한코드에대해단위테스트가얼마나중요한지에대해논의한다.이장에서는코드를수정하고유지보수하기위한전제조건으로서의리팩토링과단위테스트가얼마나중요한지살펴보고이를지원하는주요프레임워크인unittest와pytest에대해살펴본다.또한좋은테스트란테스트자체에있는것이아니라테스트가능한코드에있다는것에대해배워본다.
9장일반적인디자인패턴
문제해결의관점이아니라유지보수의관점에서어떤식으로파이썬코드를디자인하는것이좋은지검토한다.이장에서는일부디자인패턴을내장하고있는것과같은파이썬의특징을살펴보고파이썬에서디자인패턴을구현하기위한실용적인접근법을살펴본다.그리고(그리관습적이지는않지만)파이썬에특화된패턴들에대해서도알아본다.
10장클린아키텍처
클린코드는훌륭한아키텍처의기본이다.첫번째장에서부터언급된모든것들을전반적으로살펴보는것은상용배포를할때중요한역할을할것이다.