Personnellement, j'essaie toujours de préfixer les valeurs booléennes avec quelque chose qui ajoute un peu plus de sens (is, has, can, etc.). Mon utilisation provient des directives Microsoft suivantes:
nom Do propriétés booléennes avec une expression positive (CanSeek au lieu de CantSeek). En option, vous pouvez également préfixer les propriétés booléennes avec Is, Can, ou Has, mais seulement où il ajoute la valeur .
MSDN - Names of Type Members
Je ne crois pas que ce soit toujours le cas
Ce ne fut pas toujours le cas. Ces pratiques remontent à .NET 2.0. Avant cela, les choses allaient bien. Cependant, le nettoyage de ces noms dans les versions les plus récentes du Framework provoquerait toutes sortes de maux de tête (d'où le fait que certains codes utilisent la convention et d'autres non).
Cependant, cela rend les choses plus lisibles. Même en utilisant un exemple de votre question. Lequel préférerais-tu avoir?
// ambiguous naming, could mean many things
myTab.TabStop
ou
// definitely a true/false value
myTab.IsTabStop
C'est intéressant que c'est une nouvelle recommandation, explique la plupart de winforms n'ayant pas le préfixe Is. –
@Chris S - Il est difficile de tout faire correctement la première fois. Cela peut avoir été l'un des enseignements tirés de .NET 1/1.1 –
Pour TabStop, "Is" ajoute une valeur claire: la valeur de la propriété vous indique si quelque chose est un arrêt de tabulation; la valeur n'est pas une tabulation elle-même. Pour Activé, la valeur ajoutée est plus subtile. "Est" distingue ici si quelque chose est activé et un "activé", quel qu'il soit, peut-être une copie activée de l'objet. Une autre valeur ajoutée est que l'objet lit plus comme English: myObject.IsEnabled. –