ロバスト Python(ロバストパイソン)
クリーンで保守しやすいコードを書く
- 著者:
- Patrick Viafore/鈴木 駿/長尾 高弘(パトリック ヴィアフォア/スズキ ハヤオ/ナガオ タカヒロ)
- 出版社:
- オライリージャパン
- 出版日:
- 2023年03月25日
- ISBN:
- 9784814400171
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
技書の森解説
Python は書きやすい言語ですが、コードベースが大きくなると「自由に書けること」が保守性の敵に変わります。本書は型ヒント (type hints) を軸に、 Python コードを堅牢で変更に強い状態に保つための設計手法を体系的に解説します。型アノテーション、列挙型、データクラス、プロトコル、そしてそれらを活かした静的解析 (mypy 等) の導入までを一貫した流れで扱います。
著者の Patrick Viafore は C++ など静的型付け言語のバックグラウンドを持ち、その経験を Python の動的な世界にどう持ち込むかという視点で書いています。そのため「型ヒントの書き方」だけでなく「なぜ型で意図を表現することがチーム開発での安全網になるのか」という設計思想まで踏み込んでいるのが特徴です。
前提として Python の基本文法は理解している必要があります。初学者ではなく、ある程度の規模のコードを書いた経験を持つ中級者が対象です。「動くけど半年後に読めないコード」を書いてしまう自覚がある人、あるいはチームで Python を使い始めてコードの品質基準を揃えたい人にとって、具体的な改善手段を与えてくれる一冊です。
言及 Qiita 記事 (19 件)
Pythonでコードに意図を込める方法
♡ 245Python, リーダブルコード, EffectivePython, ロバストPythonいつの間にかPythonが軟派な言語ではなくなっていた~ロバストPython~
♡ 146Python, mypy, 型アノテーション, ロバストPythonPython3.12からPEP695-Type Parameter Syntax(型引数構文)が導入され、型変数を使ったクラスや関数の定義が大きく変わる
♡ 145Python, pep, typing, ロバストPythonロバストなPythonコードを書くための基本的なテクニック
♡ 57PythonPythonの達人を目指して~Effective Pythonで学ぶコーディングテクニック~(前編)
♡ 43Python, Python3, EffectivePythonデータサイエンティストのおすすめ書籍30選
♡ 43Python, 機械学習, データ分析, 統計学, データサイエンス【Python】`typing.NewType`をこれから書くコードでは使わないほうがいいと考える理由
♡ 18Python, typing, Pylance, ロバストPython, ベイクドモチョチョPythonの型ヒント「Annotated」にDeepDiveしてみる
♡ 17Python, sqlalchemy, FastAPI, TypeHints, Annotated【Python】`typing.NoReturn`の使いどころ
♡ 15Python, typing, ロバストPython【ロバストPythonを読んた感想】ロバストなコードをささえる機能は言語を超えた共通点がある
♡ 6Python, Elixir, ポエム
言及 Zenn 記事 (2 件)
この本に興味がある方におすすめ
この本に関連
関連記事
テスト本ガイド - テスト設計を学べる技術書の選び方
テストの書き方からテスト戦略まで学べる技術書の選び方を紹介。テストピラミッド、TDD の正しい読み方、テストの ROI の考え方を解説します。
バグを生むのは知識不足ではなく想像力不足である
バグの多くは、コードを書いた時点で「こういうケースもありうる」と想像できなかったことが原因です。想像力を鍛える読書法と、エッジケースへの感度を高める方法を解説します。
「動くコード」と「良いコード」の間にある本
コードが動くようになった後、次に何を学べばよいのか。「動くコード」を「良いコード」に変えるために必要な知識と、それを効率的に学べる本の選び方を解説します。
関連用語
ミューテーションテストとは - テストの品質を数値で測定する手法
ミューテーションテストはソースコードに意図的な変異を注入し、テストが検出できるかで網羅性を評価する手法。Stryker/PIT の導入手順とスコアの読み方を解説
TDD
テストを先に書いてから実装するソフトウェア開発手法。設計と品質を同時に高める
テスト
ソフトウェアが期待通り動くか検証する活動。品質と変更の安全性を支える
テスト駆動開発
テストを先に書き、テストが通るコードを実装し、リファクタリングするサイクルで開発を進める手法
テストピラミッド
単体テスト、結合テスト、E2E テストの比率を示すテスト戦略のモデル
テスト戦略
プロジェクトのテスト種類、範囲、自動化レベルを体系的に定義する計画