TL;DR
インタフェースは前もって設計するのではなく、実際に必要になったときに見つけ出すべきだ、という Rob Pike の言葉。
Don’t design with interfaces, discover them.
なぜ必要か
Go の文脈で出てきた言葉だが、他の言語にも当てはまる。次のように言い換えられることもある。
abstractions should be discovered, not created
(抽象化は作成するものではなく、発見するものである)
必要もないのに前もってインタフェースを作ると、インタフェース汚染につながる。
関連