Skip to Content
ロバストPython ―クリーンで保守しやすいコードを書く
book

ロバストPython ―クリーンで保守しやすいコードを書く

by Patrick Viafore, 鈴木 駿, 長尾 高弘
March 2023
Intermediate to advanced
384 pages
5h 30m
Japanese
O'Reilly Japan, Inc.
Content preview from ロバストPython ―クリーンで保守しやすいコードを書く

19章プラガブルPython

ロバストなコードベースを構築する上で最大の難関は未来予測である。未来の開発者が何をするのか完全に推測できない。最善策は、完璧に推測するのではなく、将来の開発者が最小限の作業でシステムに機能を追加できるような柔軟性を確保することである。この章ではプラガブルなコードの作り方に焦点を当てる。プラガブルなコードは後から具体的になるものを提供できる要素を定義できる。拡張ポイント、すなわち他の開発者が機能を拡張するために使える部分を含むフレームワークを定義する。

キッチンにあるスタンドミキサーについて考えてみよう。パン生地を捏ねるためのフック、卵やクリームを泡立てる泡立て器、混ぜる作業全般で使われるフラットビーターなど、ミキサーにはさまざまなアタッチメントが用意されている。それぞれのアタッチメントには用途がある。フックやブレードを状況に応じて取り外したり取り付けたりできる。ミキサーを都度買い替える必要はなく、必要なものを必要な時にプラグインすればよい。

プラガブルPythonの目的も同じだ。新しい機能が必要になってもアプリケーション全体を作り直す必要はない。拡張機能やアタッチメントを構築して強固な基礎にはめ込めばよい。特定のユースケースに必要な機能を選び、それをシステムにプラグインする。

本書では何らかの料理を作る自動調理システムを例として使ってきた。本章ではそれらすべてを統合して、すべてを組み合わせられるシステムを設計する。今まで話題にしたすべてのレシピを調理できるシステムを作りたい。このシステムをUltimate Kitchen Assistant(ぼくのかんがえたさいきょうのキッチンアシスタント)と呼ぶことにする(ひどい名前だと思われるかもしれないが、だからこそ私はマーケティングの仕事をしていないのである)。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

Ken Youens-Clark, 中山 光樹
scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

Aurélien Géron, 下田 倫大, 長尾 高弘
Node.jsデザインパターン 第2版

Node.jsデザインパターン 第2版

Mario Casciaro, Luciano Mammino, 武舎 広幸, 阿部 和也
サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司

Publisher Resources

ISBN: 9784814400171Other