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

17章コンポーザビリティ

開発者として直面する最大の課題の1つは将来の開発者がシステムをどのように変化させるかを予測することだ。ビジネスは進化し、今日の最新システムはいずれレガシーシステムとなる。そのようなシステムをどうサポートすればよいのだろうか。どうすれば将来の開発者がシステムに修正を加える際に直面する摩擦を軽減できるのか。どのような状況になっても対応できるようにコードを開発する必要がある。

この章では、コンポーザビリティを意識したコードの書き方を学ぶ。コンポーザビリティを意識して書いたコードは、小さくて独立性が高く再利用できるものになる。まず、コンポーザブルではなく開発を阻害するアーキテクチャを示す。次に、コンポーザビリティを意識したコードに修正する方法を学ぶ。オブジェクト、関数、アルゴリズムを組み合わせてよりコードベースの拡張性を高める方法を学ぶ。まず、コンポーザビリティが保守性を引き上げる仕組みを明らかにする。

17.1 コンポーザビリティとは何か

コンポーザビリティは相互依存を抑えて内部にビジネスロジックをほとんど含まない小さなコンポーネントの構築に重点を置く。将来の開発者がそれらのコンポーネントを使って自分のソリューションを構築できるようにするのが目標である。コンポーネントを小さくすることで読みやすく理解しやすいものになる。依存関係を減らすことで将来の開発者がコードの書き換えに伴うコスト(「16章 依存関係」で学んだコストなど)をあまり心配せずに済む。ビジネスロジックから切り離すことで全く異なる新しい問題が出てきても解決できる。コンポーザブルなコンポーネントが増えると、開発者はそれらを組み合わせて簡単に全く新しいアプリケーションを作れる。コンポーザビリティを重視するとコードの再利用や拡張を容易にできる。 ...

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