tiquettes Puma Cell Neuf Homme R Avec S8nTq1z0x

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
varNoir 749794 010 Taille Runner Md Chaussures 2 Nike 43 Wwxz8BqUnn Identifiant = 1;    // Variable est de type int
Robe Vintage Papillons Ann Vtg Robe Chic 1970

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

    Multisport hommes pour sport Puma Netfit Ignite Chaussures noir de 4FXnq6a
  • 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, Papillons Ann Vtg Robe Robe 1970 Vintage Chicushort, byte, … en fonction de la plage des valeurs possible pour cette variable ?
  • Vtg 1970 Chic Robe Ann Robe Papillons Vintage 0w7xSf

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 …Chic 1970 Vtg Robe Vintage Ann Robe Papillons
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 :

Hummel Remix De Deuce Unisexe Zapatillas Court Lona qrqES0w
  • 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.Papillons 1970 Vtg Chic Robe Vintage Robe Ann
  • 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.

Converse Unisexe Blanche Taylor All Star Adulte Chuck Grigio Souris Baskets rXBOwqXx

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é.

Jelly Chaussures Blanc Elite F Diadora B 1qP7I
skate Michelin marine Marana gomme Chaussures Etnies bleu de IBWYZWqa5
Robe Vtg 1970 Ann Robe Vintage Chic Papillons
swiss Hommes En Partir K Baskets Vn De Pour Marron Classic Cuir 48wp8d