Boolean vérifier dans le " si " condition
Quel est le meilleur style de codage Java?
boolean status = true;
if (!status) {
//do sth
} else {
//do sth
}
ou:
if (status == false) {
//do sth
} else {
//do sth
}
switch (status) { case true: { ...; break; } default: { ...; break; } }
🙂et votre point de vue?
switch(boolean) est faux, Booléen ne peut être dans le commutateur
OriginalL'auteur jasonfungsing | 2010-11-26
Vous devez vous connecter pour publier un commentaire.
Ancien, bien sûr. Ce dernier est redondant, et pour montrer que vous n'avez pas compris le concept de booléens très bien.
Une suggestion: Choisissez un nom différent pour votre
boolean
variable. Comme par ce guide de style Java:good_status
oufair_weather_status
oustatus_known
oustatus_unknown
ou mêmestatus_malus__vana_salus__semper_dissolubilis
. 🙂OriginalL'auteur missingfaktor
Je voudrais vous suggérer de faire:
La
==
tests, bien que redondant, aussi courir le risque d'une seule=
faute de frappe qui aurait pour résultat de cession.+1 pour moi d'échange de la place de la positif et négatif de la logique.
OriginalL'auteur akf
Si vous regardez les alternatives sur cette page, bien sûr, la première option qui semble la meilleure et la seconde est un peu plus prolixe. Mais si vous êtes à la recherche par le biais d'une grande classe que quelqu'un d'autre a écrit, que le niveau de verbosité peut faire la différence entre réaliser tout de suite ce que le conditionnel est de tester ou pas.
L'une des raisons pour lesquelles j'ai déménagé loin de Perl est parce qu'il s'appuie donc fortement sur la ponctuation, qui est beaucoup plus lent à interpréter lors de la lecture.
Je sais que je suis mis en minorité ici, mais je vais presque toujours du côté de plus explicite code afin que d'autres puissent le lire avec davantage de précision. Puis de nouveau, je n'aurais jamais utiliser une variable booléenne appelée "statut". Peut-être isSuccess ou tout simplement de succès, mais le "statut" d'être vrai ou faux ne veut rien dire pour le lecteur occasionnel de manière intuitive. Comme vous pouvez le dire, je suis très en lisibilité du code, car j'ai lu tellement de code d'autres ont écrit.
Bon. +1 de moi.
d'accord avec
status
être un nom horrible, mais!s
est idiomatiques dans les langages dérivés du C, pour tester les faux-hood.Alors que "!" est sans ambiguïté, il est simplement plus difficile à remarquer lors de la numérisation de code que "== false". Étant donné qu'il nie complètement le conditionnel après, pour moi, il vaut la peine de la saisie de texte supplémentaire.
OriginalL'auteur dj_segfault
La première, ou
if (status) { /*second clause*/} else { /* first clause */}
MODIFIER
Si la deuxième forme est vraiment désiré, puis
if (false == status) <etc>
, tandis que la plus laide, est probablement plus sûr (wrt fautes de frappe).if (0==i)
question non poséeOriginalL'auteur lijie
L'ancien. Ce dernier ajoute tout simplement le niveau de verbosité.
OriginalL'auteur user207421
Il vraiment dépend aussi de la façon dont vous le nom de votre variable.
Quand les gens se demandent "qui est une meilleure pratique" - ce implicitement implique que les deux sont corrects, donc c'est juste une question de qui est plus facile à lire et à maintenir.
Si vous le nom de votre variable "statut" (ce qui est le cas dans ton exemple de code), je préférerais de beaucoup voir
if(status == false) //if status is false
D'autre part, si vous avez nommé votre variable isXXX (par exemple isReadableCode), alors que le premier est plus lisible. considérer:
OriginalL'auteur RAY
La première. Mais juste un autre point, les éléments suivants devraient également rendre votre code plus lisible:
Noter qu'il y a des espaces entre
if
et la(
, et aussi avant laelse
déclaration.MODIFIER
Comme le fait remarquer @Mudassir, si il y a PAS autre code partagé dans la méthode à l'aide de la logique, alors le meilleur style:
Ouais, je downvoted votre réponse. Mais ce n'est pas personnel.
@Mudassir soupir...
Ne le prenez pas personnellement. Modifier votre réponse et je vais annuler ma downvote.
Si vous voulez me mettre à jour ma réponse, vous avez besoin de laisser des commentaires sur ce qui est mal avec elle. En regardant les posts précédents, ma réponse semble être la norme. Laissez-moi savoir ce que vous avez un problème avec et je vais l'éditer avec plaisir. Je suis ici pour en apprendre tout autant que je suis ici pour répondre à d'autres questions.
OriginalL'auteur Nico Huysamen
Mon sentiment personnel quand il s'agit de la lecture
si vous n'êtes pas utilisé pour !le statut de la lecture. Je ne vois pas de mal de faire comme la seconde.
si vous utilisez "actif" au lieu de statut, je chose if(!active) est plus lisible
OriginalL'auteur asela38
Premier style, c'est mieux. Si vous devez utiliser meilleur nom de la variable
OriginalL'auteur Petro Semeniuk
C'est plus lisible et de bonnes pratiques.
En outre, vous pourriez reformuler le nom de la variable avec un " -" préfixe pour indiquer que la valeur par défaut est.
OriginalL'auteur Singleton