2009-01-17 19 views
0

Je voulais voir si quelqu'un pouvait me faire la lumière. Quand j'utilisais le plug-in pour Eclipse Checkstyle, je reçu un message d'avertissement sur la déclaration suivante (pas exactement, mais cette forme):Écrire des tests d'égalité dans une instruction if

if (x != y) 
{ 
    do(); 
} 

Pourquoi est-ce un problème?

Modifier: Je m'excuse, j'aurais dû être plus clair avec ma question. Merci beaucoup pour vos réponses. ils m'ont vraiment aidé avec un problème complètement différent.

L'avertissement que j'ai reçu m'a recommandé de ne pas utiliser un test de la forme "x! = Y", mais d'utiliser plutôt un test de la forme "x = y". Je me demande pourquoi l'un serait meilleur que l'autre.

+0

Nous devons voir le code réel et le message d'avertissement réel pour être d'aucune aide. –

+0

+1 pour le commentaire de Bill. Quand vous avez un avertissement ou une erreur et que vous demandez de l'aide, donnez * toujours * le texte de l'avertissement/erreur - et de préférence du code qui produit définitivement cet avertissement/erreur. Le code qui "n'est pas exactement ceci" omet ou déplace souvent le problème réel. –

Répondre

3

Le réglage par défaut du vérificateur LeftCurly est "EOL". Cela signifie que vous imposez la règle que si les déclarations (et des blocs similaires) devraient ressembler à ceci:

if (x != y) { 
    do(); 
} 

Si vous préférez le style que vous montriez dans la question, utilisez le paramètre « nl », décrit dans le lcurly policy section du manuel de Checkstyle.

Vous pouvez modifier le paramètre dans Eclipse comme ceci:

  1. De la fenêtre, sélectionnez Préférences.
  2. Si nécessaire, créez une nouvelle configuration de vérification (généralement en copiant l'un des originaux non modifiables) et définissez-en la configuration par défaut.
  3. Double-cliquez sur la nouvelle configuration, cliquez sur Blocs, puis double-cliquez sur Emplacement de l'accolade gauche. Modifier et enregistrer.
-1

Y a-t-il un "autre"?

Je pense que si vous avez écrit quelque chose comme ça

if (x != y) 
{ 
    do(); 
} 
else 
{ 
    doSomethingElse(); 
} 

Je recommande aussi

if (x == y) 
{ 
    doSomethingElse(); 
} 
else 
{ 
    do(); 
} 
+0

Si vous votez contre, s'il vous plaît au moins dire, quel était votre problème avec cette réponse. Les downvotes peuvent être utiles, mais seulement si l'on peut en tirer des leçons. – Xn0vv3r

+0

Cette recommandation a à voir avec la façon dont vous écrivez si les conditions ne sont pas respectées. –