Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #3994 > unrolled thread

"bessere" schreibweise

Started byJan Novak <repcom@gmail.com>
First post2016-12-29 17:48 +0100
Last post2016-12-30 00:26 +0100
Articles 4 — 4 participants

Back to article view | Back to de.comp.lang.php


Contents

  "bessere" schreibweise Jan Novak <repcom@gmail.com> - 2016-12-29 17:48 +0100
    Re: "bessere" schreibweise "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-12-29 18:39 +0100
      Re: "bessere" schreibweise Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2016-12-29 21:51 +0100
        Re: "bessere" schreibweise Niels Braczek <nbraczek@freenet.de> - 2016-12-30 00:26 +0100

#3994 — "bessere" schreibweise

FromJan Novak <repcom@gmail.com>
Date2016-12-29 17:48 +0100
Subject"bessere" schreibweise
Message-ID<o43ep5$fim$1@news.albasani.net>
Hallo,

gibt es eine "bessere" oder kürzere schreibweise für folgende Sachlage:

if ($a and $b) {
  [do something]
} else {
   if (!$a){
     [do on false $a]
   } else {
     [do on false $b]
   }
}


Jan

[toc] | [next] | [standalone]


#3995

From"Christoph M. Becker" <cmbecker69@arcor.de>
Date2016-12-29 18:39 +0100
Message-ID<o43hmk$an4$1@solani.org>
In reply to#3994
Am 29.12.2016 um 17:48 schrieb Jan Novak:

> gibt es eine "bessere" oder kürzere schreibweise für folgende Sachlage:
> 
> if ($a and $b) {
>  [do something]
> } else {
>   if (!$a){
>     [do on false $a]
>   } else {
>     [do on false $b]
>   }
> }

Eine *mögliche* Alternative:

if (!$a) {
  // do if $a is "falsey"
} elseif (!$b) {
  // do if $b is "falsey"
} else {
  // do if $a and $b are "truthy"
}

Aber eigentlich finde ich beide Varianten nicht "schön".  Je nachdem was
in den then- und else-Zweigen gemacht wird, kann das vermutlich
verbessert werden.

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


#3996

FromSebastian Suchanek <sebastian.suchanek@gmx.de>
Date2016-12-29 21:51 +0100
Message-ID<o440i0.8pg.1@msgid.suchanek.de>
In reply to#3995
Thus spoke Christoph M. Becker:
> Am 29.12.2016 um 17:48 schrieb Jan Novak:
>
>> gibt es eine "bessere" oder kürzere schreibweise für
>> folgende Sachlage: 
>>
>> if ($a and $b) {
>>  [do something]
>> } else {
>>   if (!$a){
>>     [do on false $a]
>>   } else {
>>     [do on false $b]
>>   }
>> }
>
> Eine *mögliche* Alternative:
>
> if (!$a) {
>   // do if $a is "falsey"
> } elseif (!$b) {
>   // do if $b is "falsey"
> } else {
>   // do if $a and $b are "truthy"
> }
>
> Aber eigentlich finde ich beide Varianten nicht "schön". 
> Je nachdem was in den then- und else-Zweigen gemacht wird,
> kann das vermutlich verbessert werden.

Ich meine, mal irgendwo gelesen zu haben, dass es guter 
Programmierstil sei, if/then/else-Blöcke nach Möglichkeit so zu 
gestalten, dass der "Standardfall" im ersten/obersten Block 
abgehandelt wird und danach die diversen "Sonderfälle" kommen 
sollen.

Also nicht:

if ($Sonderfall) {
  // do something special
} else {
  // do normal stuff
}

sondern:

if (!$Sonderfall) {
  // do normal stuff
} else {
  // do something special
}

Inwieweit das Auswirkungen auf Jans Problem hat, kann aber nur 
Jan beurteilen, weil nur er weiß, unter welchen Umständen $a und 
$b wahr sind.


Tschüs,

Sebastian 

[toc] | [prev] | [next] | [standalone]


#3997

FromNiels Braczek <nbraczek@freenet.de>
Date2016-12-30 00:26 +0100
Message-ID<o44642$oqn$1@news.albasani.net>
In reply to#3996
Am 29.12.2016 um 21:51 schrieb Sebastian Suchanek:

> Ich meine, mal irgendwo gelesen zu haben, dass es guter 
> Programmierstil sei, if/then/else-Blöcke nach Möglichkeit so zu 
> gestalten, dass der "Standardfall" im ersten/obersten Block 
> abgehandelt wird und danach die diversen "Sonderfälle" kommen 
> sollen.
> 
> Also nicht:
> 
> if ($Sonderfall) {
>   // do something special
> } else {
>   // do normal stuff
> }
> 
> sondern:
> 
> if (!$Sonderfall) {
>   // do normal stuff
> } else {
>   // do something special
> }

In den letzten Jahren wird eher empfohlen, auf das 'else' zu verzichten.
Kombiniert mit dem nach wie vor gültigen Mantra der 'Wächter' müsste es
so aussehen:

fonction foo()
{
    if ($sonderfall) {
        // do something special
        return;
    }

    // do normal stuff
}

MfG
Niels

-- 
| New Stars on the Horizon:      GreenCape  ·  nibralab  ·  laJoom |
| http://www.bsds.de   ·   BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · e-Commerce · Joomla! Content Management |
 ------------------------------------------------------------------

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.lang.php


csiph-web