日々アプリに機能実装をしていく中で、我々はコードに複雑性 (Complexity) を加え続けています。システムの理解を困難にする複雑性は開発スピードを落とし、バグを生じさせ、それが更に開発スピードを落とすという悪循環を引き起こします。
“A Philosophy of Software Design” という本があります。ソフトウェア開発における複雑性が何であるかを定義し、それを最小化するためのコンセプトを例とともに21章に渡り記述した本ですが、このトークではこのうちいくつかを抜粋して紹介し、実際にiOSアプリ開発のプロジェクトにどのように適用できるか、ということも交えた上でお話しします。
例として以下のような内容に関し話す予定です。