Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-06-2013 20:05:57

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

@ORM !== @PERF

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.


22914720

Hors ligne

 

#2 24-06-2013 20:58:25

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: @ORM !== @PERF

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

 

#3 24-06-2013 21:27:04

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: @ORM !== @PERF

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 ? big_smile

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. smile


22914720

Hors ligne

 

#4 24-06-2013 22:24:29

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: @ORM !== @PERF

Bonjour,

Bouks a écrit:

On utilisera donc de préférence la fonction setTableDefinition() de Doctrine_Record.

Cette fonction n'existe pas sur Doctrine2


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#5 24-06-2013 22:41:24

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: @ORM !== @PERF

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


22914720

Hors ligne

 

#6 25-06-2013 09:42:34

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: @ORM !== @PERF

Je suis d'accord sur le principe Bouks s'il fallait vraiment tout optimiser partout on ferait du binaire big_smile. 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 big_smile.

Hors ligne

 

#7 25-06-2013 11:13:07

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: @ORM !== @PERF

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages