Een vraagje puur uit nieuwsgierigheid. Ik heb een stukje code:
<?php
if ($path->isDir()) $this->ensureDirectory(str_replace($directory, $directory_copy, $path->getPathname()));
else $this->copy($path->getPathname(), str_replace($directory, $directory_copy, $path->getPathname()));
?>
Op zich niks spannends aan, maar zoals je ziet zit er 2x dezelfde str_replace in. Dat vind ik eigenlijk best stom staan, 2x dezelfde riedel... Zouden jullie dit zo laten? Of voor die str_replace een variabele aanmaken?
<?php
$new_path = str_replace($directory, $directory_copy, $path->getPathname());
if ($path->isDir()) $this->ensureDirectory($new_path);
else $this->copy($path->getPathname(), $new_path);
?>
In voorbeeld 1 is de code wat langer en heb je dus 2x zo'n lange riedel. In voorbeeld 2 is de code korter en duidelijker, maar maak je onnodig een nieuwe variabele aan. Wat doen jullie in dit soort situaties? Wat zijn jullie afwegingen? Alvast bedankt voor de reacties.
Eigenlijk vind ik ze beiden niks.
Als ik zo code moet gaan debuggen dan pas ik.
Waarom gebruik je geen blokhaken?
Dit maakt je code i.i.g. leesbaarder.
Persoonlijk zou ik voor de overzichtelijkheid optie 2 gaan.
Misschien net even 1 variabele meer, maar het maakt het verhaal wel beter leesbaar.
(Kuch, misschien komt het door die blokhaken.... ;) )
Lol... tja, ieder zo zo'n maniertjes. Als het op 1 regel zet, plaats ik het graag op 1 regel :)
Anders wordt het zo'n uitgerekte soep-zooi. Bij meerdere regels gebruik ik wel accolades, maar dan zo:
<?php
if () {
// code
} else {
// code
}
?>
Mja, kwestie van smaak en gewenning.
Het viel me gewoon op. Normaal gesproken lees ik toch best snel code.
Maar het brijtje van een paar regels waar jij graag een stemronde over wenst, is toch wel prettig dat het een beetje standaard leesbaar is.
Zonder blokhaken is dat (vind ik persoonlijk) irritant.
Ook een spatie tussen if( $foo ) maakt het sneller leesbaar.
Dat is geen uitgerekte soep, maar meer collegiaal. ;)
Je hebt ook de optie (bijvoorbeeld in python) dat je moet inspringen, dat maakt het ook al duidelijker zonder blokhaken.
Maar dat doe je ook niet....
EDIT
even een voorbeeld:
n = raw_input("Integer? ")
n = int(n)
if n < 0:
print "The absolute value of",n,"is",-n
else:
print "The absolute value of",n,"is",n
Thanks bart. Ik doe inderdaad niet if( $foo ) maar if ($foo). Vind ik dan weer prettiger en meer mensen doen dat. Ik spring ikn dit geval niet in omdat het op dezelfde regel staat. Als ik accolades gebruik wel.
<?php
if (true) {
echo 'jaja';
} else {
echo 'nope';
}
?>
Duidelijker kan ik het niet maken...
Maar mijn eigenlijke vraag ging er dus over of je die str_replace in een variabele moet stoppen ja of nee. Ik had eigenlijk verwacht dat jullie voor voorbeeld 1 zouden gaan, in plaats van voorbeeld 2 omdat je in dit laatste geval onnodig een variabele kopieert. In het verleden werd dit altjd afgeraden.