Part 2. Foundations of design

The basis for effective software is intentional design, and in the process of designing software, you’ll find that the same few concepts pop up again and again. Part 2 of this book will prepare you for the intricacies of large software projects by covering these fundamentals of software design. You’ll learn how to organize code, make it more efficient, and test that it works as you expect.

As you read the rest of this book, you’ll see these concepts explicitly reiterated from time to time. See if you can also tie the new things you learn back to these concepts on your own. Frequent repetition of software design fundamentals will help you make them part of your day-to-day work, where they’ll be most effective.

Get Practices of the Python Pro now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.