Wenn du dir ansiehst
if (!x) {
if (x == false) {
Sieht es so aus, als ob !x besser ist, aber
if (!isSomething()) {
if (isSomething() == false) {
kannst du leicht das ! übersehen
Was ist zu tun? Gibt es eine Empfehlung?
Wenn du dir ansiehst
if (!x) {
if (x == false) {
Sieht es so aus, als ob !x besser ist, aber
if (!isSomething()) {
if (isSomething() == false) {
kannst du leicht das ! übersehen
Was ist zu tun? Gibt es eine Empfehlung?
Die versteckte dritte Option besteht darin, Ihre Variablen und Methoden ordnungsgemäß zu benennen.
Statt
if (!isDisabled()) {
...
}
verwenden Sie
if (isEnabled()) {
...
}
oder wenn Sie das Negative überprüfen möchten:
boolean disabled = !isEnabled();
if (disabled) {
...
}
oder fügen Sie beide Methoden hinzu:
boolean isDisabled() {
return !isEnabled();
}
Bearbeitung: Ich habe diese Frage gefunden: Ist es schlecht, explizit gegen boolesche Konstanten zu vergleichen, z. B. if (b == false) in Java?
Ich würde bei der Notation if (!isSomething()) {
bleiben. Wenn es für dich oder andere schwer zu lesen ist, kannst du immer ein wenig Leerzeichen um das '!' hinzufügen, um es hervorzuheben:
if ( ! isSomething()) {
oder if ( !isSomething()) {
Zusätzlich können mehrere bedingte Aussagen mit der folgenden Notation überwältigend werden
if (isSomething() == false && isSomethingElse() == false && ..)
,
während die Alternative kurz und prägnant ist. Nach einer Weile wird es natürlich, das '!' zusammen mit den Aussagen als "nicht isSomething() und nicht isSomethingElse()" zu lesen.
Ja, ausgezeichnet! Jetzt, wenn Sie nur das "Hi!" verlieren könnten ;) Dann passen Sie besser zum Geist dieser Frage-und-Antwort-Seite (nur Antworten).
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Einige der Antworten in dieser Frage behandeln dieses Problem. programmers.stackexchange.com/questions/12807/…