複雑さの症状

「Change amplification: The first symptom of complexity is that a seemingly simple change requires code modifications in many different places.」

—『A Philosophy of Software Design, 2nd Edition』John K. Ousterhout著
修正範囲の増幅

 

 

「Cognitive load: The second symptom of complexity is cognitive load, which refers to how much a developer needs to know in order to complete a task.」

—『A Philosophy of Software Design, 2nd Edition』John K. Ousterhout著

認知負荷の増加

 

「Sometimes an approach that requires more lines of code is actually simpler, because it reduces cognitive load.」

—『A Philosophy of Software Design, 2nd Edition』John K. Ousterhout著

ヒントして一文

コードを長くすることで認知負荷を減らす場合がある

説明変数や型を使った表現かなと思った。

 

 

「Unknown unknowns: The third symptom of complexity is that it is not obvious which pieces of code must be modified to complete a task, or what information a developer must have to carry out the task successfully.」

—『A Philosophy of Software Design, 2nd Edition』John K. Ousterhout著

変更箇所が何かが判別つきづらい状態