Très bonne dépêche. J'attends la suite avec impatience.
PHP n’est pas un problème la plupart du temps : PHP est rapide, vraiment rapide ; la plupart des optimisations que j’ai obtenues étaient liées à la façon dont je gérais les flux et leur contenu ainsi qu’aux requêtes dans la BDD ; passer à PHP 7 puis aux versions suivantes a un peu amélioré les performances, mais le gain a été négligeable par rapport à ce qui a découlé des autres changements réalisés dans le code.
Du coup je dirai plutôt "PHP est lent, mais ce n'est pas forcément un problème/visible" (et c'est pareil pour Perl/Python/Ruby...). Même si un bout de code pourrait être potentiellement 100 fois plus rapide, ce n'est pas gênant s'il s'exécute "instantanément". Comme tu le dis c'est surtout l'architecture qui va être prégnante dans bien des cas (comme ici).
J’ai l’impression que beaucoup de projets accordent trop d’importance au principe DRY — Don’t Repeat Yourself). Parfois il n’est pas nécessaire d’importer une bibliothèque entière, écrire une fonction qui correspond exactement à la situation peut faire l’affaire. Il est préférable de garder aussi peu de dépendances que possible.
Le fait de choisir de se lier à une bibliothèque ou d'écrire une fonction spécifique n'a rien à voir avec le "Don’t Repeat Yourself" (qui va consister à trouver et factoriser les motifs récurrent de ton code). Tu parles peut-être de "Not Invented Here" ?
et peut‐être la plus importante de toutes : Keep It Simple!
Ça c'est une réflexion personnelle ; une chose me dérange avec l'expression KISS, c'est que c'est très subjectif. Des tas de gens s'en réclament, tout en lui faisant dire des choses très différentes. C'est un peu comme se réclamer d'utiliser "le bon sens" ; au final tout le monde pense avoir le bon, et pourtant tout le monde ne pense pas pareil.
Par exemple, tu n'as pas mis en place l'architecture la plus simple possible (ce qui selon une certaine interprétation du KISS serait une violation du principe) ; tu as créé une architecture suffisamment complexe pour que ça marche bien en fonction des critères qui te semblaient importants (performances, sécurité...). Après on est d'accord, avoir un code le plus simple possible pour un niveau de fonctionnalité donné est clairement une vertu.
# Un peu de pinaillage
Posté par GuieA_7 (site web personnel) . En réponse à la dépêche Movim, mode d’emploi — Première partie : l’architecture. Évalué à 4.
Très bonne dépêche. J'attends la suite avec impatience.
Du coup je dirai plutôt "PHP est lent, mais ce n'est pas forcément un problème/visible" (et c'est pareil pour Perl/Python/Ruby...). Même si un bout de code pourrait être potentiellement 100 fois plus rapide, ce n'est pas gênant s'il s'exécute "instantanément". Comme tu le dis c'est surtout l'architecture qui va être prégnante dans bien des cas (comme ici).
Le fait de choisir de se lier à une bibliothèque ou d'écrire une fonction spécifique n'a rien à voir avec le "Don’t Repeat Yourself" (qui va consister à trouver et factoriser les motifs récurrent de ton code). Tu parles peut-être de "Not Invented Here" ?
Ça c'est une réflexion personnelle ; une chose me dérange avec l'expression KISS, c'est que c'est très subjectif. Des tas de gens s'en réclament, tout en lui faisant dire des choses très différentes. C'est un peu comme se réclamer d'utiliser "le bon sens" ; au final tout le monde pense avoir le bon, et pourtant tout le monde ne pense pas pareil.
Par exemple, tu n'as pas mis en place l'architecture la plus simple possible (ce qui selon une certaine interprétation du KISS serait une violation du principe) ; tu as créé une architecture suffisamment complexe pour que ça marche bien en fonction des critères qui te semblaient importants (performances, sécurité...). Après on est d'accord, avoir un code le plus simple possible pour un niveau de fonctionnalité donné est clairement une vertu.