1    Les Contrats de Code    Nestor A. Kameni    Expert C#, ASP.NET, Silverlight    Blog : http://nestor.nestasoft.fr    T...
2   Sommaire     Partie1 : Introduction     Partie 2 : Téléchargement et mise en place de la bibliothèque de contrats   ...
3   Partie 1 : Introduction (1/8)     Définition d’un contrat            o C’est une contrainte imposée par le concepteur...
<    >        4   Partie 1 : Introduction (2/8)             Imposer les contrats « oui ou non »?                    o Dan...
5   Partie 1 : Introduction (3/8)     Avantage (Cas pratique) :            o Assure au développeur que les données d’entr...
6             Partie 1 : Introduction (4/8)    Cas pratique :                                                        Équip...
7   Partie 1 : Introduction (5/8)     Avantages des contrats de code            •    Typage fort des contrats            ...
8   Partie 1 : Introduction (6/8     Avant le Framework 4.5, 4.0            •    Utilisation des exceptions    (c) Nestor...
9   Partie 1 : Introduction (7/8)     Concept des contrats de code            1. Définition des contrats en utilisant les...
10   Partie 1 : Introduction (8/8)      Prérequis             o Incluse dans le Framework 4.5, 4.0             o Possibil...
11                            QUESTION?     (c) Nestor .A Kameni
Upcoming SlideShare
Loading in …5
×

Les contrats de code

346 views
299 views

Published on

Les contrats de code sont une nouvelle fonctionnalité du Framework .NET 4.0 qui permettent de définir des contraintes dans du code et peuvent être réutilisées par des outils d’analyse ou d’écriture spécifique du code.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
346
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Les contrats de code

  1. 1. 1 Les Contrats de Code Nestor A. Kameni Expert C#, ASP.NET, Silverlight Blog : http://nestor.nestasoft.fr Twitter : @nestasoft
  2. 2. 2 Sommaire  Partie1 : Introduction  Partie 2 : Téléchargement et mise en place de la bibliothèque de contrats  Partie 3 : Utilisation des préconditions  Partie 4 : Utilisation des post-conditions  Partie 5 : Utilisation des Contrats sur les interfaces  Partie 6 : Utilisation des objets invariants  Partie 7 : Support pour les TU  Partie 8 : Héritage du contrat  Partie 9 : Les attributs du contrat  Partie 10 : Documenter vos contrats (c) Nestor .A Kameni
  3. 3. 3 Partie 1 : Introduction (1/8)  Définition d’un contrat o C’est une contrainte imposée par le concepteur sur une méthode, une interface…  C’est quoi « Code Contracts »? o Nouvelle fonctionnalité du Framework (4.0)  But o Définir des contraintes dans du code; contraintes qui pourront être réutilisées par des outils d’analyse / d’écriture du code. (c) Nestor .A Kameni
  4. 4. < > 4 Partie 1 : Introduction (2/8)  Imposer les contrats « oui ou non »? o Dans un grand projet : Imposer l’utilisation des contrats Cas pratique : Équipe A Équipe B Développeur A Développeur B Intégrateur A Intégrateur B Intégrateur C public List<T> getListT(…) { } Utilisent les méthodes public SupS getListSupS(…) { } getListT et getListSupS (c) Nestor .A Kameni
  5. 5. 5 Partie 1 : Introduction (3/8)  Avantage (Cas pratique) : o Assure au développeur que les données d’entrées sont valides et n’auront pas d’effets secondaires sur l’exécution de la classe.  Inconvénient : o Compilation impossible.  Dans un petit projet type perso : Le choix est laissé au développeur (c) Nestor .A Kameni
  6. 6. 6 Partie 1 : Introduction (4/8) Cas pratique : Équipe unique Développeur Intégrateur public List<T> getListT(…) { } Utilisent les méthodes public SupS getListSupS(…) { } getListT et getListSupS Avantage (Cas pratique) : o Aucun Inconvénient : o Compilation impossible. o Perte de temps pour résoudre d’éventuelles anomalies. (c) Nestor .A Kameni
  7. 7. 7 Partie 1 : Introduction (5/8)  Avantages des contrats de code • Typage fort des contrats • Vérification des contrats à la compilation • Documentation auto des commentaires des contrats de code • Héritage des contrats • Définition des contrats de code dans des interfaces • Création d’un assemblage qui ne contient que des contrats (c) Nestor .A Kameni
  8. 8. 8 Partie 1 : Introduction (6/8  Avant le Framework 4.5, 4.0 • Utilisation des exceptions (c) Nestor .A Kameni
  9. 9. 9 Partie 1 : Introduction (7/8)  Concept des contrats de code 1. Définition des contrats en utilisant les classes de l’espace de nom 2. Exécution de l’outil d’analyse des contrats  Outils proposés par Microsoft o cccheck o ccdocgen o ccrefgen o ccrewrite (c) Nestor .A Kameni
  10. 10. 10 Partie 1 : Introduction (8/8)  Prérequis o Incluse dans le Framework 4.5, 4.0 o Possibilité d’utiliser les contrats de code dans le FrameWork 3.5 ( Assembly Microsoft.Contracts) o Télécharger les outils sur Microsoft Research (http://research.microsoft.com/en- us/projects/contracts/) (c) Nestor A. Kameni
  11. 11. 11 QUESTION? (c) Nestor .A Kameni

×