Great interface illustration, though the "contract" analogy is somewhat imprecise, it's the best one I know of.
An "Agreement" might work as well. Perhaps there can be no real analogy, because their are "loop holes" in Law, and only "patches and fixes" in programming, other aspects in programming are exact: both syntax errors and not implementing all the methods in a interface will lead to code that does not compile.
Code smells is another issue.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.