Skip to Content
Robust Python
book

Robust Python

by Patrick Viafore
July 2021
Intermediate to advanced
378 pages
9h 35m
English
O'Reilly Media, Inc.
Book available
Content preview from Robust Python

Chapter 17. Composability

One of the biggest challenges you face as a developer is predicting how future developers will change your system. Businesses evolve, and the assertions of today become the legacy systems of the future. How would you support such a system? How do you reduce the friction that future developers will face when adapting your system? You will need to develop your code so that it can perform in all sorts of circumstances.

In this chapter, you are going to learn how to develop that code by thinking in terms of composability. When you write with composability in mind, you create your code to be small, discrete, and reusable. I’ll show you an architecture that is not composable and how that can hinder development. You’ll then learn how to fix it with composability in mind. You’ll learn how to compose objects, functions, and algorithms to make your codebase more extensible. But first, let’s examine how composability increases maintainability.

Composability

Composability focuses on building small components with minimal inter-dependencies and little business logic embedded inside. The goal is that future developers can use any one of these components to build their own solutions. By making them small, you make them easier to read and understand. By reducing dependencies, you save future developers from worrying about all the costs involved in pulling new code (such as the costs you learned about in Chapter 16). By keeping the components mostly free of business ...

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.
Start your free trial

You might also like

Dead Simple Python

Dead Simple Python

Jason C. McDonald
Fluent Python

Fluent Python

Luciano Ramalho

Publisher Resources

ISBN: 9781098100650Errata PageSupplemental Content