複雑さの原因

「Together, dependencies and obscurity account for the three manifestations of complexity described in Section 2.2. Dependencies lead to change amplification and a high cognitive load. Obscurity creates unknown unknowns, and also contributes to cognitive load. If we can find design techniques that minimize dependencies and obscurity, then we can reduce the complexity of software.」

—『A Philosophy of Software Design, 2nd Edition』John K. Ousterhout著
https://a.co/crj1LmP

 

複雑さの原因は依存関係と不明瞭さ。

 

依存関係は修正箇所の増幅と認知負荷の増幅。

不明瞭さは変更に対する影響範囲の未知の増幅

何を変更すれば良いのかを発見することの困難を生む

認知負荷も増える