Explication des variables
Votre cas est un exemple d' introduction expliquant le refactoring des variables . En bref, une variable explicative est une variable qui n'est pas strictement nécessaire, mais permet de donner un nom clair à quelque chose, dans le but d'améliorer la lisibilité.
Un code de bonne qualité communique l’ intention du lecteur; et en tant que développeur professionnel, la lisibilité et la maintenabilité sont vos objectifs n ° 1.
En tant que telle, la règle empirique que je recommanderais est la suivante: si le but de votre paramètre n’est pas immédiatement évident, n'hésitez pas à utiliser une variable pour lui donner un bon nom. Je pense que c'est une bonne pratique en général (à moins d'abus). Voici un exemple rapide et artificiel - considérez:
editButton.Enabled = (_grid.SelectedRow != null && ((Person)_grid.SelectedRow).Status == PersonStatus.Active);
par rapport au légèrement plus long, mais peut-être plus clair:
bool personIsSelected = (_grid.SelectedRow != null);
bool selectedPersonIsEditable = (personIsSelected && ((Person)_grid.SelectedRow).Status == PersonStatus.Active)
editButton.Enabled = (personIsSelected && selectedPersonIsEditable);
Paramètres booléens
Votre exemple montre en réalité pourquoi les booléens dans les API sont souvent une mauvaise idée . Du côté des appels, ils ne font rien pour expliquer ce qui se passe. Considérer:
ParseFolder(true, false);
Vous devez rechercher la signification de ces paramètres. s'ils étaient des énums, ce serait beaucoup plus clair:
ParseFolder(ParseBehaviour.Recursive, CompatibilityOption.Strict);
Modifier:
Ajout de titres et échange de l'ordre des deux paragraphes principaux, car trop de personnes se concentraient sur la partie relative aux paramètres booléens (pour être juste, il s'agissait du premier paragraphe à l'origine). Également ajouté un exemple à la première partie.