2012-04-18 23 views
5

Vi una impresionante demostración de C# Code Contracts y quiero comenzar a implementarlos en may code. Desearía tenerlos en mi código ya. ¿Dónde comienza uno?¿Dónde comenzar con los contratos de código?

No pude quitar ningún material impreso de la demostración. ¿Alguna lectura sugerida?

¿Alguna sugerencia para un principiante con contratos de código?

Gracias de antemano por su ayuda.

+2

http://devjourney.com/blog/code-contracts-part-1-introduction/ – albertjan

+2

Tenga en cuenta que las anotaciones de Contratos de código en .NET Framework BCL son algo irregulares. Por ejemplo, muchos métodos que siempre devuelven un objeto no nulo (a menos que arroje, por supuesto) no están marcados como tales. Esto lo obliga a arrojar basura en su código con comprobaciones nulas o llamadas a 'Asumir' para satisfacer al analizador estático. – phoog

+2

@phoog es correcto, pero el equipo de Contratos de código ha estado trabajando para agregar contratos a más y más BCL, por lo que ha mejorado casi cada versión. – Andy

Respuesta

6

Comenzaría con esta Wiki que describe Design by Contract. Luego sumérgete en la documentación en MS' implementation. Para que realmente funcione en tu código, supongo que podrías comenzar casi en cualquier parte, pero tal vez comenzar con las áreas que tienen menos probabilidades de tener un impacto. Así que tal vez agregue algunos Contract.Requires a los argumentos de Ctor, si corresponde. Cuando esté más cómodo, puede agregarlos a las interfaces, pero tenga en cuenta que esto puede hacer explotar las cosas ... pero de una buena manera. Los errores o advertencias significan que está violando DbC, y probablemente el Liskov Substitution Principle.

5

El user manual proporcionado en la página del proyecto Code Contracts, ofrece una muy buena descripción de cómo usar y las posibilidades de Contratos de código.

Cuestiones relacionadas