A note of reading “A Philosophy of Software Design”

I’ve read “A Philosophy of Software Design“. I expected the book had basic concepts to make software better than design patterns for implementation.

As my prediction, the book had good insight to write better software based on their experiences.

I would pick some sentences.

  • FB had a motto about “Move fast and break things to move fast with solid infrastructure”. But they have changed it to “We must reduce code complexity in order to grow solidly with lesser pain”
  • Deep or shallow module. The former focuses on a few things with proper functions and simple. The later focus on covering many things with fewer functions. In the long term, the later thing increases complexity and pain
  • Error handling increase code complexity. It is better to define them out of existence
  • Thinking design twice
  • Write comments to improve designing
  • Good code is self-documenting is actually true. But if users must read the code of a method in order to use it, then there is no abstraction. It’s also true, I believe

I’ve learned software testing, had experience of automation and developed tools and production code. May concepts are reasonable for me, so much,

I would recommend friends of mine who would like to learn automation, for example, to read this one to get basic knowledges of software development. (I think we need to experience to understand them further tho.)

1 Comment

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.