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
2016_2017:s3:concprogobjet:td:td3 [2016/11/08 10:59]
blay [RETOUR SUR LES RENDUS]
2016_2017:s3:concprogobjet:td:td3 [2016/11/08 18:54] (current)
blay [RETOUR SUR LES RENDUS]
Line 77: Line 77:
   * Pas de S à la fin du nom d'une classe comme Vehicule.   * Pas de S à la fin du nom d'une classe comme Vehicule.
   * ne pas savoir calculer le min d'un ensemble et ne pas faire de tests!   * ne pas savoir calculer le min d'un ensemble et ne pas faire de tests!
-  * +  * 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 ! 
 +  * 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 ! 
 +  * Sur PAPIER, POUR NOTER QU'UNE CLASSE EST abstraite, vous pouvez simplement écrire <​abstract>,​ idem pour une méthode.  
 +  * 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.1478599146.txt.gz · Last modified: 2016/11/08 10:59 by blay