User Tools

Site Tools


2016_2017:s3:concprogobjet:td:td3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
2016_2017:s3:concprogobjet:td:td3 [2016/11/08 11:26]
blay [RETOUR SUR LES RENDUS]
2016_2017:s3:concprogobjet:td:td3 [2016/11/08 18:29]
blay
Line 79: Line 79:
   * BANIR LES toString dans vos assert.. imaginez le coût d'une modification d'un toString !! et que testez-vous vraiment?   * BANIR LES toString dans vos assert.. imaginez le coût d'une modification d'un toString !! et que testez-vous vraiment?
   * Ne mettez pas un attribut quand vous pouvez mettre une association ! Mettez les cardinalités !   * Ne mettez pas un attribut quand vous pouvez mettre une association ! Mettez les cardinalités !
 +  * N'​utilisez pas des toString dans vos codes pour gérer les cas d'​erreur : mettez votre gestion des cas d'​erreur en commentaire par exemple add-charge ne fait rien si... et METTEZ des tests pour vérifier que vous faites bien ce que vous dites. ​ Si vraiment vous en avez besoin, mettez un logger !
 +  * aTTENTION AU CHOIX ARBITRAIRE D4UNE valeur max comme 150... si demain vous gérez des convois de ferrari, vous devrez aller modifier votre code de convoi !! Integer.MAX_VALUE résoud votre problème par exemple.
 +  * cOMMENT FAIRE POur qu'un véhicule soit un engin???? Il faut répondre à cette question en TD.
 +  * Mettez le toString en facteur surtout quand vous le recopiez partout!
 +  * Prévoir en dure le calcul de la vitesse max et autoriser la modification de la charge !!
 +  * Ne définissez pas toutes vos variables en public ou même protected, simplement parce que vous ne savez pas utiliser des cascades de constructeurs ou des accesseurs! Et réfléchissez à la cohérence de votre code même sur un exemple aussi simple !
 +  * HORREUR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (piste : Polymorphisme ce n'est pas une maladie contagieuse.)
 +<code java>
 +public double getVitesseMax(){
 +        double resultat =150;
 +        double resultat2 =0;
 +        for (Vehicule v : listeVehicule) {
 +            if(v instanceof PetitBus){
 +                resultat2=((PetitBus) v).getVitesseMax();​
 +            }
 +            if(v instanceof CamionCiterne){
 +                resultat2=((CamionCiterne) v).getVitesseMax();​
 +            }
 +            if(v instanceof CamionBache){
 +                resultat2=((CamionBache) v).getVitesseMax();​
 +            }
 +            if(v instanceof VoitureSansPermis){
 +                resultat2=((VoitureSansPermis) v).getVitesseMax();​
 +            }
 +            if (resultat2<​resultat){
 +                resultat = resultat2;
 +            }
 +        }
 +        return resultat;
 +    }
 +   </​code>​
2016_2017/s3/concprogobjet/td/td3.txt · Last modified: 2016/11/08 18:54 by blay