2010-12-13 4 views
0

Witch un de ces approches que vous pensez est mieux?
Cet exemple est en PHP mais les règles du jeu sont les mêmes pour les autres langues.
1. Tout d'abord faire un seul si le bloc et dupliquer la chaîne de modèle dans le bloc else:vérifications de variables multiples vs chaîne de modèles en double vs variables set/unset

if($var['b']) 
{ 
    $text='<tr> 
     <td style="cursor:pointer; color:black;"></td> 
     <td class="one">'.$var['b'].'</td> 
     <td class="two">'.$var['b'].'/'.$var['a'].'</td> 
     <td class="other">'.($var['a']/$var['b']).'</td> 
     </tr>'; 
} else { 
    $text='<tr> 
     <td style="color:red;"></td> 
     <td class="one"></td> 
     <td class="two">'.$var['a'].'</td> 
     <td class="other">0</td> 
     </tr>'; 
} 

2. Deuxième vérifier la même variable, encore et encore, mais ne pas dupliquer la chaîne de modèle :

$text='<tr> 
    <td style="'.(($var['b'])?'cursor:pointer; color:black;':'color:red;').'"></td> 
    <td class="one">'.(($var['b'])?$var['b']:'').'</td> 
    <td class="two">'.(($var['b'])?$var['b'].'/'.$var['a']:$var['a']).'</td> 
    <td class="other">'.(($var['b'])?($var['a']/$var['b']):'0').'</td> 
    </tr>'; 

3. Troisième un seul chèque variable ne pas dupliquer la chaîne de modèle, définissez/variables non définies:

$css = 'color:red;'; 
$one = ''; 
$two = $var['a']; 
$other = 0; 
if($var['b']) 
{ 
    $css = 'cursor:pointer; color:black;'; 
    $one = $var['b']; 
    $two = $var['b'].'/'.$var['a']; 
    $other = ($var['a']/$var['b']); 
} 
$text='<tr> 
    <td style="'.$CSS.'"></td> 
    <td class="one">'.$one.'</td> 
    <td class="two">'.$two.'</td> 
    <td class="other">'.$other.'</td> 
    </tr>'; 
unset($css,$one,$two,$other); 

Ceci est un exemple simple, donc peu importe, mais imaginez un grand projet où quelque chose comme cela peut être utilisé dix à cent fois seulement pour une seule instance de script. Dans le premier nous avons un code source plus grand, mais nous gagnons de la vitesse, dans le second notre code est petit (tout à fait difficile à lire), mais nous perdons de la vitesse parce que plusieurs vérifications de variables, le troisième est facile à lire. utiliser beaucoup d'espace, mais nous perdons de la vitesse et de la mémoire en raison de la configuration et de la suppression des variables.

Répondre

0

j'apprendre une chose liée à cette navigation question SO dans les derniers mois:

Lisibilité du code est important, donc ne pas Mather quelle approche utilisez-vous, aussi longtemps que votre le code est facile à lire par les humains, parce que les compilateurs modernes font très bien leur travail en optimisant votre code de la façon dont il s'exécute le plus vite possible.

Questions connexes