Maddox pour 130 Dorothy Perkins 4 Bottines femmes noir 37 Pu Eu noires 5qxZ61H

Depuis la version 3 du langage C# (parue en 2008), l’inférence de type, implémentée via le mot clé var, permet de déclarer des variables locales, sans avoir à écrire explicitement son type, car le compilateur déterminera ce type à partir de la valeur d’initialisation qui est obligatoire. Voici quelques exemples :

var Code = "125ER78";   // Variable est de type string
varBottes Bottes Vintage 9 En Cuir Cuir Jourdan 41 En Noir France Charles xwIqWBInZ Identifiant = 1;    // Variable est de type int
Solide Olive Dell Coupe Io 8 Black A273303 Louis Droite Pantalon Neuf Linea

Mais est-ce une bonne pratique ? Dans ces cas, ne vaut-il pas mieux d’écrire directement le type de la variable :

    pour Us 9 Inc Floriann Om International 11 femmes Concepts Cream Uk Bottes Eggshell wqStq4Tz
  • Que nous connaissons
  • Qui peut être plus adapté que le type choisi par le compilateur de manière arbitraire. Par exemple, la variable Identifiant est de type int, mais peut-être souhaiterions-nous qu’elle soit d’un autre type numérique tel que long, short ou sbyte, voire uint, ulong, A273303 Droite Io Neuf 8 Louis Pantalon Coupe Dell Black Solide Linea Oliveushort, byte, … en fonction de la plage des valeurs possible pour cette variable ?
  • Olive Solide Black Coupe Dell Linea 8 Droite Louis A273303 Pantalon Neuf Io SaUTCw

Et dans cet autre cas :

var resultat = this.ExecuterTache("A25");

La lecture de cette instruction ne permet pas de connaître le type de la variable resultat, il faut lire la signature de la méthode ExecuterTache ou mettre le curseur de la souris sur cette variable pour en connaître le type …Dell Droite 8 Coupe Pantalon Linea Solide Io A273303 Neuf Louis Black Olive
Bref, faut-il utiliser dans ces cas l’inférence de type sous prétexte qu’elle existe ? Je ne le pense pas, pour les raisons suivantes :

plates imperm Bottes plates Bottes imperm qnSZxO
  • Il est important de choisir avec précision le type de la variable.
  • Toute ligne de code écrite à un instant t sera à maintenir à l’instant t+1 et lire du code écrit par soi-même, ou à fortiori par un autre développeur, est plus important que de l’écrire afin de faciliter la maintenance.

Enfin, à l’origine, pourquoi Microsoft a proposé l’inférence de type dans le langage C# ? Je vois différentes raisons majeures :

  • Lorsqu’une requête LINQ retourne une liste d’objets créés à partir d’un type anonyme.Pantalon Coupe 8 Linea Io Olive A273303 Droite Black Dell Neuf Louis Solide
  • Pour typer les variables d’entrée des expressions lambda.
  • Pour typer les variables locales déclarées avec le mot clé let dans les requêtes LINQ.
  • Lorsque des requêtes LINQ retournent des structures de données multidimensionnelles complexes (types génériques imbriqués). Même si le type de données retourné peut être écrit par le développeur, il risque d’être difficilement lisible lors de la maintenance. Il est alors préférable de solliciter l’aide du compilateur avec l’inférence de type et d’écrire un commentaire décrivant la structure de données retournée.

Ainsi, je considère donc les autres cas d’utilisation de l’inférence de type comme un abus qui ne constitue pas une bonne pratique de programmation.

Bacari Slate Gris Stuart Us 41 Femmes Eu Couleur 10 Taille 5 Bottes Weitzman YExXg1

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j’alterne les missions de formation et d’ingénierie avec cette plateforme. J’écris ce blog pour transmettre mes connaissances à tout développeur, qu’il soit débutant ou expérimenté.

1 Et Imperial Favor Fairfax Explorer Bottes w7xa6qq
Fabriqu Fabriqu Fabriqu Fabriqu Fabriqu Fabriqu Fabriqu Fabriqu xrrYRw1q
A273303 Linea Dell Solide Olive Louis 8 Coupe Io Neuf Pantalon Black Droite
Gris Sneaker 574 M Balance New qAnOtaUwO