• [^] # Re: Rien de transcendant dirait-on

    Posté par . En réponse au journal Noop : encore un nouveau langage ou bien nouvelle génération de langage. Évalué à 5.

    Quand ton objet a un gros nombre de membres obligatoires, v'la la gueule du constructeur... 15 parametres au constructeur, c'est pas humain.
    Oui c'est clair que coté lisibilité il y a une énorme différence entre

    Cat c new Cat( "Fluffy", // nom
    GRIS_TIGRE, // pelage
    VERT, // couleur des yeux
    4 ) ;// nombre de patte

    et

    Cat c();
    c.setNom("Fluffy"); // nom du chat
    c.setPelage(GRIS_TIGRE); // pelage
    c.setCouleurYeux(ROSE) ; // couleur des yeux
    c.setNbPattes(4); // nombre de pattes


    (oui pour les commentaires après les setteurs, j'ai déjà croisé)

    Ca rend le code absolument illisible. Surtout quand nombre des membres ont le meme type (genre string). T'as une probabilite de te planter quand tu construit manuellement l'objet qui est tres proche de 1. Et pour la relecture, bon courage.
    Marrant ça, avec les commentaires, tu peux en rajouter autant que tu veux, ça reste lisible.

    Tu rajoutes un attribut, t'as *tout* ton code qui pete.
    Entre un code qui ne compile pas et un code qui plante, mon choix va immédiatement vers celui qui ne compile pas.

    Ca fait exploser le code du constructeur
    C'est toujours mieux qu'exploser le code à chaque création d'objet..

    C'est plus simple de construire un objet vide et de lui setter ses properties a la ligne d'apres dans le code que de devoir deviner quel parametre va ou en fonction de son nom.
    Chez moi setBidule met à jour la propriété bidule_ de l'objet (ou _bidule, ou m_bidule selon la convention de nommage), et le paramètre bidule du constructeur, va, "Oh surprise" setter cette même propriété...

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent