TL;DR

システムの既存コードを理解し、変更すべき箇所をすぐに把握できる状態(a system to be obvious)。A Philosophy of Software Design では、優れた設計の最も重要な目標の 1 つとされている。

なぜ必要か

明白なシステムは、高い認知的負荷や未知の未知とは真逆の状態である。開発者は少ない知識で作業でき、何を知らないかが分からないという状況にも陥りにくい。

また、システムが明白であれば、必要なドキュメントは少なくて済む。逆に、必要なドキュメントが多いということは、設計が適切でない。

関連

出典