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 ―クリーンで保守しやすいコードを書く

15章拡張性

この章では拡張性に焦点を当てる。拡張性は、第Ⅲ部全体を通じて考えるテーマであり、この重要な概念をしっかりと理解することが大切になる。拡張性がロバストネスに与える影響を理解すれば、コードベース全体に拡張性を与えるチャンスが見えてくるはずだ。システムの拡張性を上げれば、将来の開発者たちは自信を持ってコードベースを拡張でき、エラーの可能性が下がる。それでは始めよう。

15.1 拡張性とは何か

拡張性は、システムの既存部分を変更せずに新機能を追加できるというシステムの性質である。ソフトウェアは静的なものではなく変化するものである。コードベースの寿命が尽きるまで開発者はソフトウェアを変更する。ソフトウェアという言葉のソフトという部分がそれを示す。変更は大規模なものになることがある。規模を拡大する際にアーキテクチャの重要な部分を入れ替えたり新しいワークフローを追加したりする必要がある状況を考えてほしい。そのような変更はコードベースの複数の箇所にわたって影響するため、単純な型チェックではこのレベルで生じるエラーをすべて検知できない。結局、データ型を完全に再設計することになるかもしれない。拡張可能なソフトウェアの目標は、将来の開発者のために、特に頻繁に変更される部分で簡単に拡張できるポイントを用意しながら設計することである。

このアイデアを説明するために、サプライヤが注文に対応できるように通知システムを実装しようとするレストランチェーンについて考える。レストランには特別なメニューが存在したり、ある食材が切れていたり、はたまた食材が腐ってしまったりするかもしれない。いずれの場合も、レストランはサプライヤに自動で材料の入荷が必要である旨を通知したい。サプライヤは通知のためのPythonライブラリを提供する。 ...

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

Pythonからはじめるアルゴリズムトレード ―自動売買の基礎と機械学習の本格導入に向けたPythonプログラミング

Pythonからはじめるアルゴリズムトレード ―自動売買の基礎と機械学習の本格導入に向けたPythonプログラミング

Yves Hilpisch, 村上 振一郎
サイトリライアビリティワークブック ―SREの実践方法

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

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司
スクラム実践者が知るべき97のこと

スクラム実践者が知るべき97のこと

Gunther Verheyen, 吉羽 龍太郎, 原田 騎郎, 永瀬 美穂

Publisher Resources

ISBN: 9784814400171Other