This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!
Justification
Moving to a managed execution environment offers an opportunity to improve the programming model to a wide range of functionality. For several reasons, we strongly advise designers to treat these guidelines as if they were prescriptive:
- First, because we believe that developer productivity can be seriously hampered by inconsistent design.
- Second, because development tools and add-ins will turn some of these guidelines into de facto prescriptive rules, thus reducing the value of non-conforming components. These components will function, but not to their full potential
It is very important to follow the guidelines given here, however there are instances where good library design dictates that these guidelines need to be broken. In such as case it is important to provide solid justification.