Je pense qu'il y a trois étapes dans ce processus. D'abord, vous croyez qu'il devrait toujours y avoir une comparaison dans un if, donc vous écrivez if (this.isMonkey == true) banane.manger();
Ou, de façon plus réaliste
if(SpeciesSupervisor.getInstance().findsSimilarTo(Monkey.class, 2) == true) {
String f = new PropertyBundle("bananarepo").getField("banana store");
EntitiyManager.find(Banana.class,f).getBananas().get(1).eat();
}
Ensuite, vous apprenez qu'il est bien de se demander si (this.isMonkey) et que cette mise en forme permet une meilleure lecture comme une phrase dans cet exemple («si c'est un singe"). Mais enfin, vous vieillissez et vous apprenez que si (b) n'est pas très lisible, et que si (b == vrai) donne à votre pauvre cerveau une idée de ce qui se passe ici, et que toutes ces dures prétentions de "abus", "abus", yada yada, sont tous un peu exagéré.
Et quant à la performance. En Java, cela ne ferait pas la moindre différence. Je ne pense pas .NET est tellement pire. C'est l'optimisation la plus simple qu'un compilateur puisse faire, je parierais que l'argent est la même.
Cheers,
Niko
ne se rapportent pas au problème, mais je, écrire l'inverse, si je dois l'utiliser, à savoir (faux résultat ==) (aucune écriture accidentelle). – dirkgently
Tout à fait. Et cela ne fait que diminuer la lisibilité. – Noldorin