Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3994 > unrolled thread
| Started by | Jan Novak <repcom@gmail.com> |
|---|---|
| First post | 2016-12-29 17:48 +0100 |
| Last post | 2016-12-30 00:26 +0100 |
| Articles | 4 — 4 participants |
Back to article view | Back to de.comp.lang.php
"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
| From | Jan Novak <repcom@gmail.com> |
|---|---|
| Date | 2016-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]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2016-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]
| From | Sebastian Suchanek <sebastian.suchanek@gmx.de> |
|---|---|
| Date | 2016-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]
| From | Niels Braczek <nbraczek@freenet.de> |
|---|---|
| Date | 2016-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