今年の7月に第二版が出た"A Philosophy of Software Design"を読んだ。 A Philosophy of Software Design, 2nd Edition (English Edition) 作者:Ousterhout, JohnAmazon 本書では、ソフトウェアシステムの複雑性を最小化するための設計について、モジュール/クラス設計、インターフェイス設計、レイヤー設計、エラーハンドリングから、コードの書き方まで様々な側面から具体なコード例をあげつつ解説している。 ソフトウェア開発において、システムをシンプルに保ち複雑性が上がることを避ける原則は、KISS (Keep it Simple, Stupid), DRY (Do not Repeat Yourself)やYAGNI (You Ain't Gonna Need It)などが昔から言われている。こ
!["A Philosophy of Software Design"がお勧め - stanaka's blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/87fc299a3dca79dd50ad0a9054eaeee14dfe9e97/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F51MaNQzHTQL._SL500_.jpg)