Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1468 connectés 

 


Et vous, vous êtes plus simple quote ou guillemet ?


 
59.1 %
 13 votes
1.  Simple quote
 
 
13.6 %
 3 votes
2.  Guillemet
 
 
27.3 %
 6 votes
3.  Obiwan ne voit pas la différence sur son 100000 Thz
 

Total : 22 votes (0 vote blanc)
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

Test simple quote et guillemets

n°1443586
jagstang
Pa Capona ಠ_ಠ
Posté le 17-09-2006 à 13:15:03  profilanswer
 

Reprise du message précédent :
bon c'est finir l'enculage de mouche ici ? :o
si vous voulez parler d'optimisation allez sur le topac ASM d'Harko  :whistle:


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
mood
Publicité
Posté le 17-09-2006 à 13:15:03  profilanswer
 

n°1445654
KrisCool
“Verbeux„
Posté le 21-09-2006 à 10:52:49  profilanswer
 

CNeo a écrit :

Y a aussi les commentaires /* */ vs //. :whistle:
Dans le premier cas php teste chaque octet pour vérifier que ce n'est pas la fin du commentaire alors que dans le deuxième cas il passe directement à la ligne suivante. ;)


 
Ce post dénote de graves lacunes dans la connaissance de ce que ce sont l'analyse lexicale et syntaxique. [:doc petrus]


---------------
Loose Change Lies | Bars | Last.fm
n°1445966
CNeo
Posté le 21-09-2006 à 19:22:34  profilanswer
 

KrisCool a écrit :

Ce post dénote de graves lacunes dans la connaissance de ce que ce sont l'analyse lexicale et syntaxique. [:doc petrus]


Un lien, une explication ?

n°1445976
KrisCool
“Verbeux„
Posté le 21-09-2006 à 19:55:02  profilanswer
 

Warning: je tente d'expliquer simplement des notions que j'ai étudiées... il y a près de 3 ans, donc il peut y avoir quelques imperfections/erreurs.
 
En gros l'analyse lexicale découpe ce qu'on lui donne en tokens, et l'analyse syntaxique construit à partir de ces tokens un arbre syntaxique, au moyen d'une grammaire.  
 
Ce procédé est à la base de tous les compilateurs et interpréteurs (dont php of course). Un compilateur transformera l'arbre de différentes façons avant de produire un résultat dans un langage différent, un interpréteur le parcourera pour exécuter le programme.
 
Pour faire l'analyse lexicale, deux solutions. Se taper l'analyseur à la main (formateur mais rapidement imbitable), ou alors le générer au moyen d'un générateur d'analyseur lexical (exemple: lex/flex).
Quand on génére un analyseur, on en écrit une description, au moyen d'une expression régulière.
En gros, on dit au générateur comment reconnaître les éléments lexicaux du langage: les chaînes de caractères, les nombres, les identifiants, les opérateurs, les commentaires...
 
Et ça se fait le plus souvent au moyen d'expressions régulières.
Pour un commentaire simple ligne: ça sera simple : /\/\/.*$/
Pour un commentaire multi-lignes ça n'est pas faisable directement avec une expression régulière. On utilise une pile d'états.
Quand on détecte le /* on passe dans un état "commentaire".
Dans cet état, on ignore tout sauf le */, dès qu'on le recontre on retourne à l'état initial. Pour les commentaires imbriqués, même principe avec un compteur.
 
Là où on peut dire qu'au niveau perfs c'est kif kif, c'est que tous les cas, l'essentiel des lignes est analysés par le moteur de regexp pour y détecter au choix la fin de la ligne, le */, le /* ou le //
 
Donc pour que ça ait une différence niveau perfs, faut aller sacrément profond. Globalement les problèmes de perfs se posent pas sur l'analyse lexicale qui est relativement simple. Plutôt sur l'analyse syntaxique.


---------------
Loose Change Lies | Bars | Last.fm
n°1445979
masklinn
í dag viðrar vel til loftárása
Posté le 21-09-2006 à 20:09:17  profilanswer
 

KrisCool a écrit :

Donc pour que ça ait une différence niveau perfs, faut aller sacrément profond.


Et dans tous les cas, la phase pouvant souffrir de problèmes sera passée depuis longtemps lorsque le script s'exécutera, puisqu'un script ne s'exécute habituellement que lorsque l'analyse est terminée.
 
Donc ce genre de trucs n'a aucune influence sur les performances à l'exécution, juste sur le démarrage de l'exécution, et elle n'est pas lourde.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1445980
CNeo
Posté le 21-09-2006 à 20:37:25  profilanswer
 

Merci pour l'explication.
 
N'empêche que c'est un topic à la c.. et que sur le fond j'avais raison, il y a bien une différence même si elle est invisible.

n°1445985
KrisCool
“Verbeux„
Posté le 21-09-2006 à 20:40:52  profilanswer
 

CNeo a écrit :

que sur le fond j'avais raison, il y a bien une différence même si elle est invisible.


 
[:tartragnan]


---------------
Loose Change Lies | Bars | Last.fm
n°1445989
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 21-09-2006 à 20:48:23  profilanswer
 

Disons que pour faire du code propre, professionel faut quand même les respecter les petits trucs a 2€


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1446000
KrisCool
“Verbeux„
Posté le 21-09-2006 à 21:14:03  profilanswer
 

WiiDS a écrit :

Disons que pour faire du code propre, professionel faut quand même les respecter les petits trucs a 2€


 
Pas nécessairement. Un code propre et professionnel, c'est pas un code qui est bourré de micro-optimisations dans tous les sens.
Un code propre et professionnel, c'est un code:
- clair, simple
- respectant une norme d'écriture un minimum bien foutue
- documenté convenablement dans le code et en dehors du code
- sans défaut majeur de performance
 
Quand je parle de défaut majeur de performance, c'est un truc qui va être trop lent/trop gourmand en ressources par rapport à la volumétrie prévue.  
Si vous arrivez à avoir ça sur un projet - dans la vie la vraie, en entreprise, par pour votre CMS en PHP qui tue les mouettes - là vous pourrez vous dire que vous faites du code propre et professionnel. Et vous pourrez être fiers, parce que ça court pas les rues.

Message cité 1 fois
Message édité par KrisCool le 21-09-2006 à 23:10:49

---------------
Loose Change Lies | Bars | Last.fm
n°1446020
Sh@rdar
Ex-PhPéteur
Posté le 21-09-2006 à 23:07:43  profilanswer
 

WiiDS a écrit :

Disons que ça rassure les soit disant professionels de penser que pour faire du code propre et professionel faut quand même les respecter les petits trucs a 2€


 
[:aloy]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
mood
Publicité
Posté le 21-09-2006 à 23:07:43  profilanswer
 

n°1446058
masklinn
í dag viðrar vel til loftárása
Posté le 22-09-2006 à 00:57:21  profilanswer
 

KrisCool a écrit :

Pas nécessairement. Un code propre et professionnel, c'est pas un code qui est bourré de micro-optimisations dans tous les sens.
Un code propre et professionnel, c'est un code:
- clair, simple
- respectant une norme d'écriture un minimum bien foutue
- documenté convenablement dans le code et en dehors du code
- sans défaut majeur de performance


Un code propre et professionnel c'est déjà un code correct, pour commencer [:aloy]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1446064
leflos5
On est ou on est pas :)
Posté le 22-09-2006 à 01:43:36  profilanswer
 


Il serait plus juste de dire qu'il faut avoir de la logique dans ce qu'on fait :o
Et par exemple utiliser une variable qui joue le rôle d'une constante, et que souvent tout mis bout à bout sans que ça soit illisible c'est mieux que du code de goret, bien compliqué, à la complexité logique souvent seule maitresse du professionnalisme de l'ensemble  :whistle:

n°1446079
KrisCool
“Verbeux„
Posté le 22-09-2006 à 08:10:40  profilanswer
 

masklinn a écrit :

Un code propre et professionnel c'est déjà un code correct, pour commencer [:aloy]


 
C'est pas faux, mais je m'étais tenu cette caractéristique là pour implicite [:petrus75]. J'ai trop foi en la nature humaine [:petrus75]


---------------
Loose Change Lies | Bars | Last.fm
n°1455704
FlorentG
Unité de Masse
Posté le 11-10-2006 à 17:57:17  profilanswer
 

MagicBuzz a écrit :

Donc, pour un maximum de performances, il faut se débrouiller pour que les concaténations soient faites le plus base niveau possible, là où elles seront normalement le plus performantes.
 
Par exemple, en C#, il y a 3 manières de concaténer :
 
[...]


HERE HERE
 
Extrêmement pas du tout con [:dawa]
 
On sait que :

echo 'machin $pouet';


et

echo 'machin ' . $pouet;


Font carrément pas la même chose. En terme d'opcodes PHP, on a pour le deuxième :

CONCAT       ~0 'machin ' !0
ECHO            ~0


et pour le premier :

INIT STRING  ~0
ADD_STRING   ~0 ~0 'machin'
ADD_STRING   ~0 ~0 ' '
ADD_VAR      ~0 ~0 !0
ECHO            ~0


 
Maintenant on a aussi des trucs genre printf, qui sont des wrapper sur les fonctions C du même nom [:dawk]
 
Je m'en va benchmarker

Message cité 1 fois
Message édité par FlorentG le 11-10-2006 à 17:58:49
n°1455716
masklinn
í dag viðrar vel til loftárása
Posté le 11-10-2006 à 18:09:30  profilanswer
 


c'est "hear hear" à la base, mais bon s'pas grave [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1455718
FlorentG
Unité de Masse
Posté le 11-10-2006 à 18:10:45  profilanswer
 

masklinn a écrit :

c'est "hear hear" à la base, mais bon s'pas grave [:pingouino]


J'men fous, /b/a fini de me bouffer mon dernier neurone, je suis complètement déformaté

n°1455720
masklinn
í dag viðrar vel til loftárása
Posté le 11-10-2006 à 18:14:01  profilanswer
 

En même temps on s'en tape, de même que de ce bench à la con qui n'a strictement aucun intérêt parce que dans 9 cas sur 10 ce n'est pas ta création de strings qui fait se trainer l'application.
 
profiling > benchmarking


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1455723
FlorentG
Unité de Masse
Posté le 11-10-2006 à 18:19:22  profilanswer
 

Je sais très bien, j'arrête pas de le répéter. Je voulais essayer un truc, partir dans le low level comme l'a dit magicbuzz, mais en PHP c'est pas trop la peine :/

n°1455726
FlorentG
Unité de Masse
Posté le 11-10-2006 à 18:22:28  profilanswer
 

On peut quand-même préciser que, pour de très très grande concaténation, l'output buffering est fortement conseillé

n°1455734
masklinn
í dag viðrar vel til loftárása
Posté le 11-10-2006 à 18:42:36  profilanswer
 

FlorentG a écrit :

Je voulais essayer un truc, partir dans le low level comme l'a dit magicbuzz, mais en PHP c'est pas trop la peine :/


Ailleur non plus, à part en C.
 
Par exemple en Java ou en C#, le benchmarking est rendu extrèmement difficile par le JIT et la propension du GC a toujours se déclencher au mauvais moment


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1455737
mIRROR
Chevreuillobolchévik
Posté le 11-10-2006 à 18:55:55  profilanswer
 

masklinn a écrit :

Ailleur non plus, à part en C.
 
Par exemple en Java ou en C#, le benchmarking est rendu extrèmement difficile par le JIT et la propension du GC a toujours se déclencher au mauvais moment


 
 
merde j ai pas compris ce que c etait jit alors :/
je connais pas c# mais je pensais que le fait que java soit compilé ... :s

n°1455742
masklinn
í dag viðrar vel til loftárása
Posté le 11-10-2006 à 19:10:35  profilanswer
 

mIRROR a écrit :

je connais pas c# mais je pensais que le fait que java soit compilé ... :s


Java et C# sont compilés, mais dans un langage spécifique dépendant de leur VM et indépendant de la plateforme (Java Bytecode pour la JVM, MSIL pour le CLR), qui est ensuite interprété (Python est aussi compilé dans en Python Bytecode, mais l'étape de compilation est largement moins violente, le Python Bytecode est plus une compression du code qu'un langage différent).
 
Ensuite, le bytecode/il est interprété par la VM et peut être dynamiquement compilé en language machine au lieu d'être simplement interprété (c'est le rôle du JIT: quand ses routines déterminent qu'une section de code est "souvent" exécutée, il compile cette section en langage machine et la stocke dans un cache, et la prochaine fois que la section est appelée il présente le code machine au lieu du bytecode à réinterpréter).
 
Le truc, c'est que le JIT ne compile pas tout (la consommation de mémoire deviendrait terrifiante, et le JIT boufferait plus de processeur qu'il n'en économiserait par ses compilations, sur le court terme en tout cas), et sûrement pas instantanément, donc les performances des sections de code dépendent non seulement des paramètres externes (la charge de la machine), mais aussi de l'avis du JIT sur le bout de code.
 
Accessoirement, il existe un "pluggable JIT" pour Python (Psyco). Il est très loin d'amener les perfs des JITs JVM/CLR (entre autre parce qu'il a nombre de code paths potentiels à gérer et optimiser, et qu'il a beaucoup moins d'infos de type sur lesquelles bosser) et il consomme énormément de RAM (par rapport au même programme Python sans utilisation de Psyco), mais le boost de perfs (CPU) est fréquement entre x2 et x4, avec des pointes de l'ordre de x100 sur de l'exécution fréquente de calculs numériques.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1455748
mIRROR
Chevreuillobolchévik
Posté le 11-10-2006 à 19:31:10  profilanswer
 

masklinn a écrit :

Python est aussi compilé


 
t1 c est pas ma journee je comprends rien :/
ce matin ca m a fait pareil dans la doc de php sur les regex ...si on fait telle ou telle connerie il y erreur a la compilation :/

n°1455776
masklinn
í dag viðrar vel til loftárása
Posté le 11-10-2006 à 21:15:11  profilanswer
 

mIRROR a écrit :

t1 c est pas ma journee je comprends rien :/


C'est quoi le problème [:petrus dei]
 
La compilation c'est simplement la transformation d'un langage "source" à un langage "cible", ça ne veut pas nécessairement dire que le langage cible est le langage machine (le langage "cible" est habituellement "de plus bas niveau" que le langage source, mais pas toujours, enfin disons qu'avec certaines compilations ce genre de considérations n'a pas trop de sens quoi)


Message édité par masklinn le 11-10-2006 à 21:15:40
n°1455813
mIRROR
Chevreuillobolchévik
Posté le 12-10-2006 à 08:10:05  profilanswer
 

ok en fait je crois que j avais juste tendance a oublier ce qui pouvait se passer en coulisses ^^
bah merci en tout cas :jap:

n°1456680
Berceker U​nited
PSN : berceker_united
Posté le 13-10-2006 à 12:20:40  profilanswer
 

Pour revenir au sujet. Le simple est utile lorsque vous envoyez du code HTML. Ceci évite de placer des backslash sur les paramètres ce qui rend le chaine peut lisible. Par contre pour les requêtes c'est plutôt l'inverse pour les mêmes raisons. Maintenant, entre simple et double lequelle choisir ? c'est une discution totalement stérile. Parler de gain de performance alors qu'il manque un free_result sur une grosse requête. Le pointeur d'un fichier n'est pas fermé. Utiliser des chaines de caractère pour un comportement binaire, ex  : return "oui" return "non".
Bref, arrêter de vous astiquer avec une pince à épiler.

n°1457119
leflos5
On est ou on est pas :)
Posté le 14-10-2006 à 11:36:21  profilanswer
 

Berceker United a écrit :

Pour revenir au sujet. Le simple est utile lorsque vous envoyez du code HTML. Ceci évite de placer des backslash sur les paramètres ce qui rend le chaine peut lisible. Par contre pour les requêtes c'est plutôt l'inverse pour les mêmes raisons. Maintenant, entre simple et double lequelle choisir ? c'est une discution totalement stérile. Parler de gain de performance alors qu'il manque un free_result sur une grosse requête. Le pointeur d'un fichier n'est pas fermé. Utiliser des chaines de caractère pour un comportement binaire, ex  : return "oui" return "non".
Bref, arrêter de vous astiquer avec une pince à épiler.


 :love:  
 
C'est ce que je dis depuis le début, ça rentre dans un ensemble de pratiques, utiliser le plus adapté est le mieux :)
 
Tu mets le doigt sur un truc auquel j'avais pas pensé: le backslashe. Si on considère que c'est pour contenir une chaine html, que celle là est bien formée donc avec des guillements pour tous les attributs, ça ralonge quand même sacrément les fichiers pour rien en plus de rajouter un poil de cul de traitement  :o  
 
Conclusion: même si en soit c'est pas grand chose, c'est conceptuellement trop et j'imagine bien que y'aura pas que ça comme indélicatesse de codage :o Et on revient à la théorie du 10µs +10µs+10µs +10µs... qui font 0.5s  :ouch:  

n°1457130
masklinn
í dag viðrar vel til loftárása
Posté le 14-10-2006 à 12:10:37  profilanswer
 

leflos5 a écrit :

Et on revient à la théorie du 10µs +10µs+10µs +10µs... qui font 0.5s  :ouch:


Bordel mais ça suffit avec cette connerie [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1457374
leflos5
On est ou on est pas :)
Posté le 15-10-2006 à 00:46:17  profilanswer
 

masklinn a écrit :

Bordel mais ça suffit avec cette connerie [:petrus75]


 :o  
Faire un ensemble de mauvais choix atomiquement insignifiants sur les matériaux fait un bâtiment qui tombe à la première petite tempête  :jap:  
 
Mais qu'on en pense ce qu'on veut, ça va bien au delà des simple/double quote, c'est plutot un état d'esprit: pourquoi s'obstiner à faire le mauvais choix sous prétexte que ça change rien sur le temps d'éxécution de 10 lignes de code  :sarcastic:

n°1457384
dwogsi
Défaillance cérébrale...
Posté le 15-10-2006 à 01:07:38  profilanswer
 

leflos5 a écrit :

:o  
Faire un ensemble de mauvais choix atomiquement insignifiants sur les matériaux fait un bâtiment qui tombe à la première petite tempête  :jap:


Pas comparable....

n°1457391
masklinn
í dag viðrar vel til loftárása
Posté le 15-10-2006 à 01:16:59  profilanswer
 

leflos5 a écrit :

:o  
Faire un ensemble de mauvais choix atomiquement insignifiants sur les matériaux fait un bâtiment qui tombe à la première petite tempête  :jap:


Tu as gagné le prix de l'analogie stupide du jour, et probablement de l'année, parce que j'ai rarement vu une comparaison aussi tordue, irréaliste et imbécile :jap:  
 

leflos5 a écrit :

Mais qu'on en pense ce qu'on veut, ça va bien au delà des simple/double quote, c'est plutot un état d'esprit: pourquoi s'obstiner à faire le mauvais choix sous prétexte que ça change rien sur le temps d'éxécution de 10 lignes de code  :sarcastic:


Mauvais choix? [:pingouino]
 
C'est une blague?
 
Il n'y a pas de choix intrinsèquement mauvais sur ce genre de problèmes, en tout cas celui-ci n'en est pas un.  
 
Le seul véritable choix intrinsèquement mauvais est l'optimisation prématurée, la micro-optimisation sans raison, le fait d'optimiser (ou de tenter d'optimiser) sans savoir ce qu'on fait, sans avoir de données, le fait de tenter de micro-optimiser 100% de son programme ce qui au final amène plus souvent des bugs, de l'illisibilité et un manque d'optimisations véritables qu'un gain de vitesse.
 
Quand un programme est bien conçu et modulaire, il est à la fois aisé à profiler afin de savoir où les ressources sont consommées, et aisé à modifier dans un but d'optimisation si on en a besoin.
 
Mais l'histoire de l'informatique a montré de multiple fois que l'optimisation doit toujours venir à la fin, "correctness first", et qu'on ne doit optimiser que quand on a les données histoire de n'optimiser que les parties qu'il est intéressant d'optimiser (gagner 10% sur une routine consommant 50% du temps CPU total est intéressant, gagner 10% sur des opérations consommant 0.1% du temps CPU total est une perte de temps), "measure twice, cut once".
 
Maintenant, si tu veux utiliser des single quotes c'est ton problème, si d'autres préfèrent les doubles c'est le leur, c'est typiquement le genre de débats qui n'a aucun intérêt parce que le problème débattu n'existe habituellement pas dans la réalité.

Message cité 2 fois
Message édité par masklinn le 15-10-2006 à 01:20:48

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1457400
dwogsi
Défaillance cérébrale...
Posté le 15-10-2006 à 02:20:17  profilanswer
 

masklinn a écrit :

Maintenant, si tu veux utiliser des single quotes c'est ton problème, si d'autres préfèrent les doubles c'est le leur, c'est typiquement le genre de débats qui n'a aucun intérêt

Bien daccord!
C'est le genre de débat (troll??) qui abouti à chaque fois à la même chose : rien!
On est, et ne sera, jamais daccord la dessus....

n°1457441
FlorentG
Unité de Masse
Posté le 15-10-2006 à 11:30:06  profilanswer
 

dwogsi a écrit :

Bien daccord!
C'est le genre de débat (troll??) qui abouti à chaque fois à la même chose : rien!
On est, et ne sera, jamais daccord la dessus....


Non justement, c'est un débat qui peut être clos, cf. post de masklinn qui répond parfaitement à la problématique.
 
Sauf cas particulier (genre 20 milliards d'itérations), l'utilisation de double ou single quote ne change pas grand chose. A toi de choisir plutôt question lisibilité quel est le mieux par exemple. Genre si t'as :

$pouet = 'Machin ' . $machin. '. bidule ' . $bidule . '. truc ' . $truc . '.';


Ca peut être intéressant de le réécrire en  

$pouet = "Machin $machin. bidule $bidule. truc $truc.";


Voir même en plus explicite :

$pouet = "Machin {$machin}. bidule {$bidule}. truc {$truc}.";


n°1457504
leflos5
On est ou on est pas :)
Posté le 15-10-2006 à 13:53:29  profilanswer
 

masklinn a écrit :

Tu as gagné le prix de l'analogie stupide du jour, et probablement de l'année, parce que j'ai rarement vu une comparaison aussi tordue, irréaliste et imbécile :jap:  
 
 
Mauvais choix? [:pingouino]
 
C'est une blague?
 
Il n'y a pas de choix intrinsèquement mauvais sur ce genre de problèmes, en tout cas celui-ci n'en est pas un.  
 
Le seul véritable choix intrinsèquement mauvais est l'optimisation prématurée, la micro-optimisation sans raison, le fait d'optimiser (ou de tenter d'optimiser) sans savoir ce qu'on fait, sans avoir de données, le fait de tenter de micro-optimiser 100% de son programme ce qui au final amène plus souvent des bugs, de l'illisibilité et un manque d'optimisations véritables qu'un gain de vitesse.
 
Quand un programme est bien conçu et modulaire, il est à la fois aisé à profiler afin de savoir où les ressources sont consommées, et aisé à modifier dans un but d'optimisation si on en a besoin.
 
Mais l'histoire de l'informatique a montré de multiple fois que l'optimisation doit toujours venir à la fin, "correctness first", et qu'on ne doit optimiser que quand on a les données histoire de n'optimiser que les parties qu'il est intéressant d'optimiser (gagner 10% sur une routine consommant 50% du temps CPU total est intéressant, gagner 10% sur des opérations consommant 0.1% du temps CPU total est une perte de temps), "measure twice, cut once".
 
Maintenant, si tu veux utiliser des single quotes c'est ton problème, si d'autres préfèrent les doubles c'est le leur, c'est typiquement le genre de débats qui n'a aucun intérêt parce que le problème débattu n'existe habituellement pas dans la réalité.


Non justement j'ouvrais sur le vrai débat dont tout le monde sera convaincu qu'il est là et pas ailleurs mais j'ai du mal m'exprimer :)
 
Quand je parle de mauvais choix, c'est ce que je dis depuis le début, c'est à dire que c'est pas simple mieux que double ou double mieux que simple, c'est celle la plus adaptée à ce qu'on fait :)
 
Pourquoi s'entêter à vouloir faire  

Code :
  1. $foo["toto"]="toto";


si y'a rien à évaluer plutot que ce qui semble logique cad:

Code :
  1. $foo['toto']='toto';


:??:
 
Mais aussi pourquoi se border aux simple quotes quand on a besoin des double et tomber dans l'excès inutile de concaténation genre:

Code :
  1. $foo='totoot '.$var1.' ijijijijijlmm '.$var2.' sfdsfdfdsfd '.$var3.' sdfdsfdfds'.$var4.' sdfsfdsdsf...';


Alors qu'un simple

Code :
  1. $foo="totoot $var1 ijijijijijlmm $var2 sfdsfdfdsfd $var3 sdfdsfdfds $var4 sdfsfdsdsf...";


sera bien plus lisible et probablement plus efficace si on parle de grosse quantité de lignes :)
 
 
Je suis tout à fait convaincu que le simple est pas le mieux (le mieux pour quoi :??:), je veux juste dire que c'est pas pour autant que le double est mieux(toujours pour quoi :??:), que c'est juste comme pour tout le reste: suffit d'appliquer ce qui est le plus logique pour ce que l'on fait [:itm]
 
Alors en résumé prendre des bonnes habitudes de codage propre ça peut pas faire de mal à l'échelle d'un projet sans tomber dans la suroptimisation, ce que ça n'est pas mais plutot le contraire à savoir ne pas tomber dans la lourdeur généralisée.
 
J'ai surement été traumatisé par le premier projet écrit en php que j'ai vu de ma vie, un gros tas de truc non réfléchis atomiquement parlant, aucune convention d'écriture, des echo partout... Un gros tas de merde parce que justement personne s'est soucié de ce qui était mieux ou moins bien, donc au final passé 20000 lignes de code, ça a donné une grosse bouse à refaire pour que ça marche...

n°1457513
Berceker U​nited
PSN : berceker_united
Posté le 15-10-2006 à 14:07:19  profilanswer
 

leflos5 a écrit :

Non justement j'ouvrais sur le vrai débat dont tout le monde sera convaincu qu'il est là et pas ailleurs mais j'ai du mal m'exprimer :)
 
Quand je parle de mauvais choix, c'est ce que je dis depuis le début, c'est à dire que c'est pas simple mieux que double ou double mieux que simple, c'est celle la plus adaptée à ce qu'on fait :)
 
Pourquoi s'entêter à vouloir faire  

Code :
  1. $foo["toto"]="toto";


si y'a rien à évaluer plutot que ce qui semble logique cad:

Code :
  1. $foo['toto']='toto';


:??:
 
Mais aussi pourquoi se border aux simple quotes quand on a besoin des double et tomber dans l'excès inutile de concaténation genre:

Code :
  1. $foo='totoot '.$var1.' ijijijijijlmm '.$var2.' sfdsfdfdsfd '.$var3.' sdfdsfdfds'.$var4.' sdfsfdsdsf...';


Alors qu'un simple

Code :
  1. $foo="totoot $var1 ijijijijijlmm $var2 sfdsfdfdsfd $var3 sdfdsfdfds $var4 sdfsfdsdsf...";


sera bien plus lisible et probablement plus efficace si on parle de grosse quantité de lignes :)
 
 
Je suis tout à fait convaincu que le simple est pas le mieux (le mieux pour quoi :??:), je veux juste dire que c'est pas pour autant que le double est mieux(toujours pour quoi :??:), que c'est juste comme pour tout le reste: suffit d'appliquer ce qui est le plus logique pour ce que l'on fait [:itm]
 
Alors en résumé prendre des bonnes habitudes de codage propre ça peut pas faire de mal à l'échelle d'un projet sans tomber dans la suroptimisation, ce que ça n'est pas mais plutot le contraire à savoir ne pas tomber dans la lourdeur généralisée.
 
J'ai surement été traumatisé par le premier projet écrit en php que j'ai vu de ma vie, un gros tas de truc non réfléchis atomiquement parlant, aucune convention d'écriture, des echo partout... Un gros tas de merde parce que justement personne s'est soucié de ce qui était mieux ou moins bien, donc au final passé 20000 lignes de code, ça a donné une grosse bouse à refaire pour que ça marche...


 

Code :
  1. $foo="totoot $var1 ijijijijijlmm $var2 sfdsfdfdsfd $var3 sdfdsfdfds $var4 sdfsfdsdsf...";


 [:ciler] Au boulot je remet le developpeur en place directe si je vois ce genre de chose.
Toi ça se voit que tu fais que tu php. Pour deux raisons qu'il n'est pas préférable de faire ça. Tu dis que c'est illisible ? Déjà tu donnes un exemple assez tordu et montre qu'il y a en amont un problème de conception mais soite.
1 - Si tu fais une lecture en diagonale le code tu ne verras pas qu'il y a une variable dans la bloque de chaine de caractères donc ce n'est pas lisible. Une variable n'est pas une chaine de caractère.
2 - 99% des autres languages ne permette pas se genre de chose. Quand tu fais plusieurs languages tu vois tres vites qu'il faut developper de manière commune ceci pour éviter de confondre les suptilités.

n°1457518
FlorentG
Unité de Masse
Posté le 15-10-2006 à 14:28:21  profilanswer
 

Berceker United a écrit :

[1 - Si tu fais une lecture en diagonale le code tu ne verras pas qu'il y a une variable dans la bloque de chaine de caractères donc ce n'est pas lisible. Une variable n'est pas une chaine de caractère.


C'est le cas si t'as un éditeur pourrave. Les vrais pigent qu'il y a une variable dans la string et colorent comme il faut

n°1457519
masklinn
í dag viðrar vel til loftárása
Posté le 15-10-2006 à 14:35:53  profilanswer
 

Berceker United a écrit :

1 - Si tu fais une lecture en diagonale le code tu ne verras pas qu'il y a une variable dans la bloque de chaine de caractères donc ce n'est pas lisible. Une variable n'est pas une chaine de caractère.


Tous les éditeurs de qualité sont capables de recolorer ce genre d'expressions afin de rendre leur présence visible et explicite.
 
Exemple: emacs, ruby-mode
http://img222.imageshack.us/img222/7789/rubyinterpolationemacson8.png
Si tu arrives à rater les interpolations avec un truc pareil, faut t'acheter des yeux.
 

Berceker United a écrit :

2 - 99% des autres languages ne permette pas se genre de chose. Quand tu fais plusieurs languages tu vois tres vites qu'il faut developper de manière commune ceci pour éviter de confondre les suptilités.


Pardon? Développer de manière commune dans tous les langages? Genre faire du fortran dans tous les langages?
Désolé mais non, dans un langage donné il faut développer avec les idiômes du langage, sûrement pas avec les idiômes d'un autre langage, ce qui serait le meilleur moyen de se vautrer et de faire n'importe quoi (genre utiliser les idiômes Java quand on code en Ruby ou en Python).
 
Des standards de codage pour chaque langage et un style de code cohérent au sein de chaque projet ou langage je suis d'accord, mais coder de la même manière d'un langage à l'autre n'a aucun intérêt, à ce compte là autant standardiser un langage unique pour tous les projets, le gain sera notable à tous les niveaux.
 
D'autant plus que décider d'une manière commune de développer sur tous les langages, ça signifie ce restreindre dans tous les cas à un subset des opérations possibles correspondant uniquement à ce qui est partagé entre tous les langages, on perd donc l'intégralité des avantages des différents langages. Ca n'a strictement aucun sens.


Message édité par masklinn le 15-10-2006 à 14:37:32

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1457521
FlorentG
Unité de Masse
Posté le 15-10-2006 à 14:38:41  profilanswer
 

Version jEdit :
http://img182.imageshack.us/img182/5700/jeditxn1.png

n°1457522
Berceker U​nited
PSN : berceker_united
Posté le 15-10-2006 à 14:40:37  profilanswer
 

FlorentG a écrit :

C'est le cas si t'as un éditeur pourrave. Les vrais pigent qu'il y a une variable dans la string et colorent comme il faut


Là c'est mon avis mais un éditeur n'a pas à l'interpreter puisque tu indiques que la variable est dans une chaine pourquoi la différencier bref. Pour moi c'est un non sens de php de laisser cela. J'espere qu'avec la version 6 ils decideront de rendre cela incompatible.
C'est pas parce que php laisse des chose que c'est forcement correcte.
 
T'as pas compris le deuxieme point. Quand tu fais plusieurs language il est tres facile de s'emmeler les pinceaux. les languages dans la plupart des cas sont sur une base communes. Pour éviter de trop confondre il est préférable de rester sur le zone commune. je m'en rend bien compte car je fais du  php, asp, c#,java, javascript et lorsque dans la meme journée on jongle de l'un à l'autre les erreurs arrive tres vite. Pour en revenir au guillement. Quasiment tous les autres language utilise le double quotes et il n'est pas possible d'insérer une variable à l'intérieur sans concaténation.

Message cité 4 fois
Message édité par Berceker United le 15-10-2006 à 14:44:36
n°1457523
FlorentG
Unité de Masse
Posté le 15-10-2006 à 14:43:41  profilanswer
 

Berceker United a écrit :

Là c'est mon avis mais un éditeur n'a pas à l'interpreter puisque tu indiques que la variable est dans une chaine pourquoi la différencier bref.


Ben justement parce que le langage fait la différence [:delarue2]

n°1457524
0x90
Posté le 15-10-2006 à 14:44:31  profilanswer
 

Berceker United a écrit :

Là c'est mon avis mais un éditeur n'a pas à l'interpreter puisque tu indiques que la variable est dans une chaine pourquoi la différencier bref. Pour moi c'est un non sens de php de laisser cela. J'espere qu'avec la version 6 ils decideront de rendre cela incompatible.
C'est pas parce que php laisse des chose que c'est forcement correcte. à tes yeux


 
C'est PHP, si PHP fait quelque chose, alors c'est correct en PHP [:spamafote]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
[MySQL] Probléme sur requete pas simple !Un truc super simple pour des commentaires?
quel moteur 3D simple en java ?chercher exemple simple d'utilisation de ComboBox()
Batch - Switch - Remplacement de chaînes contenant des guillemets[PHP] question simple sur les variables
Besoin d'un test d'arrêt du While efficace!!!Générer une clé simple en Java
Petit problème avec un script qui test la date d'installation de windotest adresse et redirection
Plus de sujets relatifs à : Test simple quote et guillemets


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR