A Philosophy Of Software Design
A German translation of APOSD was published by O'Reilly in October of
2021: Prinzipien des Softwaredesigns.
A Chinese translation of APOSD was published by Posts and Telecommunications
Press in November of
2024; it's available through the JingDong Bookstore.
In July of 2021 I released the Second Edition of
A Philosophy of Software Design. This edition is available
on Amazon
in both paperback and electronic form. There are only a
few significant changes from the First Edition:
-
There is a new chapter "Decide What Matters" that talks about
how good software design is about separating what's important from
what's not important and focusing on what's important.
-
Since the First Edition was published, the importance of
choosing general-purpose approaches has become even more clear
to me. I have reworked and expanded Chapter 6 ("General-Purpose
Modules are Deeper") to reflect this, and I've moved some material
from other chapters to Chapter 6.
-
I have added subsections in two chapters to compare the book's
design philosophy with that of Robert Martin's Clean Code
(we have significant differences of opinion on topics such as
the length of methods and the role of comments).
For the benefit of people who already purchased the First Edition,
I have made the two new chapters and the comparisons
with Clean Code available in a
book extract.
It may not be worth buying the Second Edition if you already own
the First Edition.
Other Documents on Software Design
Here are a few other books and documents on software design that
I recommend:
- A
discussion between myself and Robert Martin about software design
and, in particular, disagreements between APOSD and his book
Clean Code.
- The Art of Readable Code by Dustin Boswell and Trevor Foucher.
This book is written at a lower level than APOSD (more about coding than
design), but it is compatible with APOSD in philosophy has a bunch of
good ideas.
- The Grug Brained Developer.
This essay by Carson Gross will make you laugh so hard you will fall
out of your chair; it also contains some big grains of truth.
- Writing system software:
code comments, by Salvatore Sanfilippo ("antirez"), author of Redis.
|