What does one reuse? At the point of reuse, it has to be identified. Yet, it has to be abstract: by reusing, one doesn't take responsibility for the contents (implementation).
Reuse is on the contrary a delegation of responsability. This must be anticipated, managed conscious. It can however also be tracked afterwards.
All this tends to require a separation between interface and implementation, as well as an ordering of the decisions. There is a time of decision, and decisions are made with reference to a certain amount of information. This information must thus be static.