책 소개
이 책은 파이썬에 적용된 소프트웨어 공학 원리에 대해서 다룬다. 소프트웨어 공학에 관한 책은 시중에 많이 있고 파이썬에 관한 책도 많이 있다. 이 책은 이 둘 의 교차점을 찾아서 실제 어떻게 개발을 해야 하는지에 대한 내용을 다루고자 한다. 소프트웨어 공학에 대한 모든 주제를 한 권의 책에서 다룰 수는 없다. 왜냐하면 그 종류가 너무 다양해서 하나의 주제만 해도 한 권에서 다루기 어렵기 때문이다. 이 책은 유지보수가 쉬운 코 드를 작성하기 위한 주요 모범사례와 소프트웨어 공학의 근본 원리에 대해서 다루고, 이를 위 해 파이썬에서 제공하는 기능을 어떻게 활용할 수 있는지 살펴본다. “소프트웨어 문제를 해결하는데 단 하나의 솔루션만 있는 것은 아니다”라는 격언이 있다. 대부 분의 솔루션에는 트레이드오프(trade off)가 있다. 각 솔루션은 장점과 단점을 가지고 있으며 한쪽을 얻으려면 반드시 다른 한쪽을 희생해야만 한다. 그러나 어떠한 원칙을 세우고 따라가다 보면 보다 안전한 방법을 선택할 수 있다. 이 책은 독자가 따라가야 할 원칙을 제시하고 최고의 선택을 할 수 있도록 도와주는 역할을 할 것이다. 어려운 문제를 만났다 하더라도 좋은 습관을 따랐다면 훨씬 나은 선택을 할 수 있기 때문이다. 좋은 습관에 대한 설명 중 일부는 이론적으로 정립된 반면 일부는 그렇지 않다. 그러나 이런 부 분을 특별히 따로 구분해야 한다는 것은 아니다. 저자는 클린 코드에 대한 어떠한 절대적인 기 준을 제시하는 것은 아니다. 왜냐하면 그러한 코드는 있을 수 없기 때문이다. 독자는 비판적 사 고를 통해 자신의 프로젝트에 가장 적합한 방식을 선택하고 제시하는 내용에 동의하지 않아도 좋다. 발전적인 토론을 통해 다양한 의견을 검토할 것을 권장한다. 이 책의 의도는 파이썬 코딩의 즐거움을 나누고 개발 경험을 통해 익힌 것들을 공유하여 독자 들이 전문성을 높이는데 도움을 주고자 하는 것이다. 4 모든 주제는 예제를 통해 설명한다. 이 예제들은 이 글을 쓸 당시의 최신 버전인 파이썬 3.7을 사용한다고 가정한다. 또한 특정 플랫폼에 종속적인 코드를 사용하지 않았기 때문에 어떤 OS 에서도 동작한다. 코드를 최대한 단순하게 유지하기 위해 대부분의 예제에서 구현과 테스트는 표준 라이브러 리를 사용하여 순수 파이썬으로 작성한다. 일부 장에서 추가 라이브러리를 사용한 경우는 requirements.txt 파일과 함께 실행 가이드를 제공한다. 이 책에서는 파이썬이 코드의 가독성과 유지보수성을 높이기 위해 제공하는 모든 기능들을 살 펴 볼 것이다. 언어에서 제공하는 기능뿐 아니라 소프트웨어 공학 기법이 어떻게 파이썬에 적 용되는지도 살펴볼 것이다. 이 과정에서 독자는 파이썬이 어떤 원칙이나 패턴과는 조금 다르게 구현되거나 변형되며, 어떤 것들은 전혀 적용되지 않을 수도 있다는 것을 알게 될 것이다. 각각 의 사례를 이해하면 파이썬을 더 깊이 이해할 수 있다.
목차펼치기접기
chapter 1 소개, 코드 포매팅과 도구 클린 코드의 의미 ................................................................................................... 18 클린 코드의 중요성 ............................................................................................... 19 클린 코드에서 코드 포매팅의 역할 ................................................................ 20 프로젝트 코딩 스타일 가이드 준수 ............................................................... 21 Docstring과 어노테이션 ....................................................................................... 23 Docstring ........................................................................................................ 23 어노테이션 ..................................................................................................... 26 어노테이션은 docstring을 대체하는 것일까? ................................................ 28 기본 품질 향상을 위한 도구 설정 .................................................................. 30 요약 ........................................................................................................................ 34 chapter 2 파이썬스러운(pythonic) 코드 인덱스와 슬라이스 ................................................................................................ 37 자체 시퀀스 생성 ........................................................................................... 38 컨텍스트 관리자(context manager) .................................................................... 40 컨텍스트 관리자 구현 .................................................................................... 43 프로퍼티, 속성과 객체 메서드의 다른 타입들 .................................................... 46 파이썬에서의 밑줄 ......................................................................................... 46 프로퍼티 ......................................................................................................... 49 이터러블 객체 ........................................................................................................ 51 이터러블 객체 만들기 .................................................................................... 52 시퀀스 만들기 ................................................................................................ 55 목차 11 컨테이너 객체 ........................................................................................................ 56 객체의 동적인 속성 ............................................................................................... 58 호출형(callable) 객체 ............................................................................................ 59 매직 메서드 요약 ................................................................................................... 61 파이썬에서 유의할 점 ........................................................................................... 61 변경 가능한(mutable) 파라미터의 기본 값 .................................................... 61 내장(built-in) 타입 확장 ................................................................................. 63 요약 ........................................................................................................................ 65 참고 자료 ............................................................................................................... 65 chapter 3 좋은 코드의 일반적인 특징 계약에 의한 디자인 ............................................................................................... 69 사전조건(precondition) ................................................................................... 70 사후조건(postcondition) ................................................................................. 71 파이썬스러운 계약 ......................................................................................... 72 계약에 의한 디자인(DbC) - 결론 .................................................................. 72 방어적(defensive) 프로그래밍 ............................................................................. 73 에러 핸들링 .................................................................................................... 73 파이썬에서 어설션 사용하기 ......................................................................... 81 관심사의 분리 ............................…
출처: 국립중앙도서관 서지정보
리뷰 남기기
로그인하면 리뷰를 남길 수 있어요.
리뷰 0개
아직 리뷰가 없어요.
