IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

L'usage des classes en PHP est-il abusif ? Un développeur allemand pense que oui


Sujet :

Langage PHP

  1. #61
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Je vois pas en quoi ca gène pour la récursivité : si tu t'assures que ce que tu transmets est correct, et que ta fonction produit un résultat correct, alors pas de soucis pour la récursivité... Tout le reste, c'est du pipeau !
    C'est une procédure récursive doit vérifier tous ses arguments avant de se relancer elle-meme / de faire ce qu'elle doit (l'un, l'autre ou les deux). Relancée elle revérifiera ses arguments. Du coup les performances se dégradent. En objet j'ai une méthode récursive privée ou protégée (les jours ou je suis généreux) et un wraper public qui fait les vérifications une seule fois et appelle la récursion. Le probleme d'une fonction n'est pas de transmettre des parametres corrects (surtout à elle-meme), c'est de les recevoir de potentiellement n'importe quel goret et de savoir planter glorieusement sans corrompre les informations.

    Les classes ont proposé un modèle cohérent pour gérer ce problème avec "des bonne manière de faire". En procédural, ben moi j'attends. On peut s'imposer une hygiène de codage de façon volontaire ou l'imposer aux autres avec des classes et des portées. N'oublions pas que le goret, contrairement à la croyance est un animal plutôt propre sur lui.

    Un trou de sécu, c'est pas un autre mot pour désigner un morceau de code qui n'est pas développé dans les règles de l'art ?
    non un trou de sécurité est une fonctionnalité non maitrisée qui permet dans les faits à un utilisateur d’accéder à des informations sans y être habilité ou a modifier le fonctionnement normal d'une application. Le paradigme objet permet d'avoir des points d'entrée identifiés dans un programme donc réduit la surface d'exposition du code. Enfin je suis pas expert en sécu et je sais qu'un bon modèle ne fait pas tout.

    moi j'arrete avec ce troll.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  2. #62
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut
    Je plusse, mais quand même...
    Citation Envoyé par gene69 Voir le message
    C'est une procédure récursive doit vérifier tous ses arguments avant de se relancer elle-meme / de faire ce qu'elle doit (l'un, l'autre ou les deux). Relancée elle revérifiera ses arguments. Du coup les performances se dégradent.
    Ca faudrait caulculer la dégradation de perf car je suis pas convaincu. Ou alors la fonction est balaize et je vois pas trop comment elle peut être récursive.
    Citation Envoyé par gene69 Voir le message
    En objet j'ai une méthode récursive privée ou protégée (les jours ou je suis généreux) et un wraper public qui fait les vérifications une seule fois et appelle la récursion. Le probleme d'une fonction n'est pas de transmettre des parametres corrects (surtout à elle-meme), c'est de les recevoir de potentiellement n'importe quel goret et de savoir planter glorieusement sans corrompre les informations.
    Ouaip. D'accord. Mais si on peut faire un truc propre, ca évite pas mal de soucis !

    Citation Envoyé par gene69 Voir le message
    Les classes ont proposé un modèle cohérent pour gérer ce problème avec "des bonne manière de faire". En procédural, ben moi j'attends. On peut s'imposer une hygiène de codage de façon volontaire ou l'imposer aux autres avec des classes et des portées.
    Le développement, comme tout métier répond à des règles et suit des normes. Ou plutôt devrait...
    Citation Envoyé par gene69 Voir le message
    N'oublions pas que le goret, contrairement à la croyance est un animal plutôt propre sur lui.
    C'est vrai que le goret est un animal propre, c'est l'humain quis'amuse à le faire vivre dans la fange. Par contre, jamais vu un cochon pondre un programme propre moi...
    "L'incohérence de ceux qui dirigent et l'incompétence de ceux qui critiquent sont un vibrant hommage à ceux qui exécutent."
    Général George S. PATTON. Messine 1943.

  3. #63
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    Si j'ai bien compris l'article, on parle d'utiliser des classes uniquement, pas de programmer en objet. De ce que j'en ai compris, ce qui est abusif est d'utiliser le principe de classes pour centraliser ses fonctions (qu'on appelle donc méthodes pour la peine) en lieu et place des "modules". La critique ne se situe pas sur l'utilisation de la POO. Je me trompe ?

    Si j'ai raison, alors je comprends tout à fait l'auteur dans le sens où on mixe les concepts venant d'horizons différents, ce qui n'arrange rien à la compréhension du code. Soit on fait de l'objet (haut niveau) soit on fait du procédural (bas niveau). Mais on ne mixe pas des concepts pour obtenir une simple facilité technique (surtout quand on a la possibilité de faire tout aussi propre avec les concepts déjà présent), c'est du codage d'opportuniste.

    Pour ma part je fais de l'objet, chaque classe a un sens concret (qui se traduira par des instances faciles à comprendre et à manipuler) et non abstrait (pour faire office de paquets de fonctions).
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  4. #64
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Si j'ai bien compris l'article, on parle d'utiliser des classes uniquement, pas de programmer en objet... La critique ne se situe pas sur l'utilisation de la POO. Je me trompe ?
    Ca fait du bien de lire quelqu'un qui a vraiment lu l'article
    Conception / Dev

  5. #65
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    J'ai juste lu l'article Developpez.com, pas les commentaires de l'allemand, donc je me base peut-être sur une omission de l'article. Mais en tout cas c'est ce que j'ai compris.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  6. #66
    Membre éclairé Avatar de Code62
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Points : 898
    Points
    898
    Par défaut
    Citation Envoyé par lilington Voir le message
    ca aussi c'est une affirmation gratuite, car ecrire un kernel ou faire des pilotes seraient des projets simple?
    à moins que tu n'écrives un kernel ou des pilotes en php, tu continues à être hors sujet...


    Citation Envoyé par arkhamon Voir le message
    Et ta méthode d'objet, tu l'écris en quoi au juste ? Pas en procédural ?
    c'est précisément ce que Stailer impliquait: en faisant de l'objet, tu fais du procédural, inévitablement; comprendre l'objet = comprendre le procédural, inévitablement... l'inverse n'est pas vrai.



    les débats, c'est cool... mais là, ça ressemble méchamment à du troll gratuit...
    "Le premier venu peut écrire du code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre."
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    (Martin Fowler)

Discussions similaires

  1. Le TDD est mort ? non, pas vraiment, peut-être que oui
    Par Arsene Newman dans le forum ALM
    Réponses: 61
    Dernier message: 16/07/2014, 14h44
  2. Le TDD est mort ? non, pas vraiment, peut-être que oui
    Par Arsene Newman dans le forum Méthodes Agiles
    Réponses: 30
    Dernier message: 12/06/2014, 10h31
  3. [MySQL] Utilisation des class en PHP/MySQL
    Par mymemorial dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/03/2013, 01h02
  4. [POO] faire des classes en php
    Par gromit83 dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2006, 16h10
  5. [POO] PHP et la gestion des classes
    Par Acti dans le forum Langage
    Réponses: 7
    Dernier message: 23/09/2005, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo