Standards for Ethereum contracts will be needed very shortly.
Imagine a contract that allows a customer to apply for, and subsequently pay into, a home loan. The contract offers the 2 functions:
- apply(property, amount)
How does the customers' contract know what functions to call on the home loan contract?
Enter a standard definition for a home loan contract. Think of it like a class interface but for contracts: a contract for a contract: a super contract? :)
A developer working on a home loan DAPP would be best placed to extract such a super contract.
Following this, a "contract ratifier" contract would check a contract against a specification for correctness and issue a verifiable token as certification. This is akin to unit tests :)
The practices and paradigms for writing software until now are just as applicable to this brave new world of decentralised applications :)