Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Hello.
Je vois nombre d'entre vous utiliser les commentaires pour vos définitions.
C'est une TRES MAUVAISE pratique.
Pourquoi ?
- Un commentaire (ou annotation) est un commentaire. Il est là pour offrir une documentation ou une indication.
- Une fonctionnalité ou une définition est un élément du programme lui-même. Ce n'est pas une annotation.
On ne mélange pas les carottes et les navets.
- Ce système de définition par annotation fait appel à la réflectivité (introspection) et est donc peu performant.
http://stackoverflow.com/questions/2945 … erformance
On utilisera donc de préférence la fonction setTableDefinition() de Doctrine_Record.
Hors ligne
Plop, plus forcément maintenant c'est plutôt performant le système d'annotation couplé à la puissance des machines qu'on a c'est un "détail" d'autant plus que tu peux le mettre en cache. Et honnêtement c'est bien plus propre et facile à lire. Tu sais tout de suite à quoi tu fais références.
Hors ligne
Orkin a écrit:
Plop, plus forcément maintenant c'est plutôt performant le système d'annotation couplé à la puissance des machines qu'on a c'est un "détail"
C'est sûr qu'on a des machines puissantes maintenant (encore que... quand on a des millions de pages à servir), est-ce une raison pour ne plus optimiser les programmes ?
Non mais franchement, Orkin, tu te la joues franchouillard qui doit toujours contredire son interlocuteur ?
Puisque tu parles de détail Jean-Marie, je te mets en référence la discussion où tu nous parles d'optimisation de performances sur le calcul des routes...
http://www.z-f.fr/forum/viewtopic.php?id=8721
Orkin a écrit:
d'autant plus que tu peux le mettre en cache.
Ben oui allons-y, sortons l'artillerie.
Je pensais justement créer un mini-framework pour remplacer la commande "echo", peut-être que tu peux me filer un coup de main niveau design.
Orkin a écrit:
Et honnêtement c'est bien plus propre et facile à lire. Tu sais tout de suite à quoi tu fais références.
Pas forcément plus facile à lire que dans une fonction dédiée... mais surtout beaucoup moins propre.
Il me semblait que tu étais un adepte des bonnes pratiques, j'ai du me tromper.
Humeur taquine.
Hors ligne
Bonjour,
Bouks a écrit:
On utilisera donc de préférence la fonction setTableDefinition() de Doctrine_Record.
Cette fonction n'existe pas sur Doctrine2
Hors ligne
Bien vu alien7. J'ai utilisé la version 1 de doctrine. Depuis j'ai arrêté.
Voici le remplaçant de setTableDefinition dans la version 2 :
http://docs.doctrine-project.org/projec … pping.html
Hors ligne
Je suis d'accord sur le principe Bouks s'il fallait vraiment tout optimiser partout on ferait du binaire . Les annotations font parti des bonnes pratiques d'ailleurs les discussion autour du ZF3 porte justement sur l'utilisation d'annotations pour les routes par exemple (si ma mémoire est bonne) donc si c'était vraiment aussi nul que ça personne s'en servirait même si ça fait gagner pas mal de temps.
Ensuite si tu veux vraiment de la performance faut pas utiliser d'ORM c'est gourmand ce genre de petite bête.
Je contredis pas toujours l'interlocuteur, je donne mon avis, qui n'est pas le même c'est tout .
Hors ligne
Pour ma part je considère un peu comme Bouks que les annotations doivent être limitées pour éviter les trucs étranges comme j'ai pu voir en C# cette année encore lors de la génération de WCF...
Par contre, lorsqu'il s'agit de routage, le code écrit devient vite assez verbeux et complexe à lire, donc je pense qu'à la longue ça peut être mieux d'utiliser des annotations pour ce genre de choses.
Au final, j'aime bien les systèmes mixtes comme on peut trouver sur PHPUnit où on génére du code PHP avec les commentaires écrits au dessus de la méthode. Par contre il faut que ce soit claire au niveau du projet histoire que tout le monde sache de quoi il s'agit...
Après question bonne pratique, c'est toujours une histoire d'être sur la même longueur d'onde. J'avoue que pour moi le code reste souvent meilleur car si il est propre, il est lisible, mais en général il n'est pas propre donc des commentaires sont mieux !
Hors ligne