C# LanguageContratti di codice

Sintassi

  1. Contract.Requires (Condizione, UserMessage)

    Contract.Requires (Condizione, UserMessage)

    Contract.Result <T>

    Contract.Ensures ()

    Contract.Invariants ()

Osservazioni

.NET supporta l'idea Design by Contract tramite la classe Contracts presente nello spazio dei nomi System.Diagnostics e introdotta in .NET 4.0. Code Contracts API include classi per il controllo statico e di runtime del codice e consente di definire precondizioni, postcondizioni e invarianti all'interno di un metodo. Le condizioni preliminari specificano le condizioni che i parametri devono soddisfare prima che un metodo possa essere eseguito, le postcondizioni verificate al completamento di un metodo e le invarianti definiscono le condizioni che non cambiano durante l'esecuzione di un metodo.

Perché sono necessari i Contratti di codice?

Tenere traccia dei problemi di un'applicazione quando la tua applicazione è in esecuzione, è una delle preoccupazioni principali di tutti gli sviluppatori e amministratori. Il monitoraggio può essere eseguito in molti modi. Per esempio -

  • È possibile applicare la traccia sulla nostra applicazione e ottenere i dettagli di un'applicazione quando l'applicazione è in esecuzione

  • È possibile utilizzare il meccanismo di registrazione degli eventi quando si esegue l'applicazione. I messaggi possono essere visualizzati utilizzando il Visualizzatore eventi

  • È possibile applicare il monitoraggio delle prestazioni dopo un intervallo di tempo specifico e scrivere dati in tempo reale dall'applicazione.

I Contratti di codice utilizzano un approccio diverso per il rilevamento e la gestione dei problemi all'interno di un'applicazione. Invece di convalidare tutto ciò che viene restituito da una chiamata di metodo, Contratti di codice con l'aiuto di precondizioni, postcondizioni e invarianti sui metodi, assicurarsi che tutto ciò che entra e che lasci i metodi sia corretto.

Contratti di codice Esempi correlati