Code - Financial Independence

Standards de Code – Mot-clé Var en C#

Ce post traite d’un sujet plus avancé, si vous ne vous sentez pas à l’aise vous pouvez procéder avec les prochains tutoriels.

Qu’est-ce que le mot-clé Var en C#?

Le mot-clé Var est utilisé pour déclarer des variables sans avoir à en spécifier le type à l’avance. Vous n’avez donc pas à vous préoccuper du type avant d’avoir initialisée cette dernière.

Toutefois, il est possible que vous ayez à faire un peu plus de calculs dans votre tête pour trouver le type réel de la variable car il se trouve plus loin sur la ligne ou dans le code. Visual Studio peut vous donner un coup de main si vous gardez votre souris sur le nom de la variable, il vous dira alors son type. En somme, l’écriture est plus simple mais la lecture est plus compliquée.

Vous pouvez vous référer au site Web MSDN pour plus d’information sur le sujet.

Pourquoi je n’aime pas vraiment ce mot-clé généralement

Je préfère lire directement le type

Personnellement je préfère lire le type au début car je trouve que c’est plus rapide que de le chercher (surtout dans un contexte plus complexe). Il en reste aussi que C# est fortement typé et, même si il en reste ainsi avec Var, je trouve que la syntaxe en est un peu ébranlée. Voici un exemple d’utilisation de var versus la déclaration standard.

Using Var

var Example = "Salut à tous!";

Not using Var

string Example = "Salut à tous!";

Cet exemple vous donne une meilleure idée de la différence. Comme vous pouvez le constater, la déclaration standard permet de savoir instantanément le type de la variable puisque l’on a tendance à lire de gauche à droite. La lecture est donc plus rapide!

Gardez le tout organisé

Selon moi, les types de variables forcent le programmeur à adopter une certaine organisation tant au niveau de ses idées que de son code. Je fais surtout référence à des langages comme PHP qui permettent l’assignation de différents types dans une seule et même variable. Ceci peut engendrer des problèmes lorsque plusieurs personnes travaillent sur le même code et qu’un assigne une valeur et l’autre une autre d’un type différent. Le temps de débogage semble parfois oublié par les gestionnaires de projets et les programmeurs dans la création de leur code.

Tout ou rien

J’ai rencontré quelques cas dans lesquels la moitié des variables étaient déclarées comme var et l’autre moitié en utilisant les types. Je crois une meilleure idée de choisir un camp et de rester dans celui-ci. Dans mon cas, je ne les utilisent presque jamais donc je tente de toujours suivre mes standards (à moins que le projet ait ses propres standards).

Dans certains cas elles peuvent être utiles!

Dans certains cas, var peut devenir très utile ou même obligatoire. Par exemple lors de la déclaration/initialisation de variables “on the fly”. Je préfère quand déclarer une nouvelle classe du nouveau type dans le but d’éviter d’éventuelles complications.

Voici un exemple de déclaration “on the fly”, assumant une classe Client avec les propriétés public Nom et Age :

List Clients = new List();
Clients.Add(new Client() { Nom = "Alex", Age = 20 });

//Création d'un objet "on the fly" et assignation à un nouvel IEnumerable de type créé en utilisant linq
var Resultats = from client in Clients
                where client.Nom == "Alex"
                select new { Age = client.Age };

foreach (var ResultatCourant in Resultats)
    Console.WriteLine(ResultatCourant.Age);

Conclusion!

C’est votre choix, vos standards, toutefois je suggère fortement de choisir de soit utiliser var le plus possible ou encore de l’utiliser le moins possible. Il est toujours plus facile de lire du code lorsque ce dernier est standardisé. Vous lisez très probablement beaucoup plus de code que vous en écrivez! En terminant, voici ce que le post que j’ai suggéré au début disait: “[…] l’utilisation de var présente au moins l’éventualité que votre code soit plus difficile à comprendre pour d’autres développeurs.Pour cette raison, la documentation C# utilise généralement var uniquement lorsqu’il est requis.”

C#

Next article Visual Basic/C# - Gestion de plusieurs formulaires Windows
Previous article Design d'applications - Applications multisolutions

Related posts

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Comment

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person. Required fields marked as *