05-09-2009, 11:37 AM
Rien de ce qui suit n'est à considérer comme une attaque personnelle. Je vais juste expliquer rapidement pourquoi je trouve le code illisible (sans faire de ronds de jambe).
Juste en aérant et en virant la notation Hongroise, c'est déjà plus mangeable :
Une petite traduction, une uniformisation des noms et paf, ça devient un bon code (de mon point de vue, je le rappelle).
Sephi-Chan
- La langue : mélanger français et anglais dans le code, c'est curieux (cf. isVide()) ;
- La notation Hongroise est très verbeuse pour ne rien apporter : le nommage des variables suffit. Un prix, on sait tous ce que c'est. De plus, je ne comprends pas trop comment l (long int) et f (float) peuvent cohabiter ;
- Le nommage n'est pas cohérent : on a une variable $p_f_monnaiearendre, où sont passés les underscore ? De la même manière, pourquoi l'attribut ReservePieces s'appelle-t-il ainsi alors que tes autres variables sont de la forme reserve_pieces ? Et pourquoi n'a-t-il pas d'accesseur ?
- C'est quoi Distributeur ? C'est ta classe ? Si oui, pourquoi appeler ses méthodes avec -> plutôt que :: ? A moins que je n'ai déjà oublié la syntaxe de PHP… :heuuu:
- Le code n'est pas assez aéré, il manque des espaces entre les opérateurs et les opérandes ;
- Le commentaire n'est pas une phrase correcte ;
//rendre la monnaie, $l_f_valeur_pieces contient dans un tableau la valeur des pièces trié décroissant
foreach(array_keys($l_f_valeur_pieces) as $l_i_compartiment_piece){
$l_f_valeur_piece=$l_f_valeur_pieces[$l_i_compartiment_piece];
while($p_f_monnaiearendre>=$l_f_valeur_piece && !Distributeur->ReservePieces[$l_i_compartiment_piece]->isVide()){
Distributeur->BacRetourPieces->Empiler(Distributeur->ReservePieces[$l_i_compartiment_piece]->Depiler());
$p_f_monnaiearendre-=$l_f_valeur_piece;
}
}
return $p_f_monnaiearendre;
Juste en aérant et en virant la notation Hongroise, c'est déjà plus mangeable :
//rendre la monnaie, $valeur_pieces contient dans un tableau la valeur des pièces trié décroissant
foreach(array_keys($valeur_pieces) as $compartiment_piece){
$valeur_piece = $valeur_pieces[$compartiment_piece];
while($monnaiearendre >= $valeur_piece && !Distributeur->ReservePieces[$compartiment_piece]->isVide()){
Distributeur->BacRetourPieces->Empiler(Distributeur->ReservePieces[$compartiment_piece]->Depiler());
$monnaiearendre -= $valeur_piece;
}
}
return $monnaiearendre;
Une petite traduction, une uniformisation des noms et paf, ça devient un bon code (de mon point de vue, je le rappelle).
Sephi-Chan