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

Débats sur le développement - Le Best Of Discussion :

La notion de code source autodescriptif relèverait d’un mythe


Sujet :

Débats sur le développement - Le Best Of

  1. #21
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 109
    Points
    6 109
    Par défaut
    Citation Envoyé par martopioche Voir le message
    Anecdote personnelle : un "architecte" qui me pond une méthode et me dit "tu verra dans la signature comment elle s'utilise"… Ben non
    Citation Envoyé par martopioche Voir le message
    je reprends l'exemple d'un discutable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setAgeCapitaine(int age)
    où la proposition était d'utiliser un type signé pour éviter un âge négatif…*Mais l'âge d'un capitaine n'est pas juste positif et négatif…
    Du coup, pour que les autres lecteurs comprennent, je cite ce que tu avais écrit :
    Citation Envoyé par martopioche Voir le message
    les types non signés n'existent pas dans tous les langages, mais de toutes manières, ils ne borneront que la valeur minimum. Un capitaine de 800 ans a-t-il un sens en supposant qu'il ne peut être un Jedi ? Un capitaine de 5 ans ?
    Sur cet exemple, je suis d'accord. S'il y a une précondition qui impose que l'âge soit supérieur à 5 et inférieure à 800, ce n'est pas dans la signature de la fonction setAgeCapitaine qu'on le verra.
    Après, comme tu l'as dit, l'existence d'une telle fonction serait douteuse, mais c'est un autre sujet.

    Citation Envoyé par martopioche Voir le message
    Ce genre de suffixe/préfixe, clairement, non… Les noms de fonctions/variables doivent exprimer ce qu'elles font, pas comment et surtout pas représenter une implémentation technique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getStrudents_canBeNull()
    est une aberration de lecture, mais surtout, est une fonction qui a fini par être exposée par la lib (ce n'était pas prévu à l'origine) et l'implémentation a changée, elle ne peut plus être Null… On fait quoi ? On garde un nom qui ne veut rien dire ou on change en informant les 8000 établissements de France qu'ils doivent modifier leurs outils qui utilisent notre lib ?
    Dans ce cas, on crée une nouvelle fonction getStrudents et on met l'ancienne fonction getStrudents_canBeNull en dépréciée.
    Dans les 8000 établissements de France, ceux qui n'ont pas le temps de maintenir leur vieux code le laissent tel quel et masquent les avertissements de type "dépréciation" s'ils ne l'on pas déjà fait. Ceux qui ont le temps simplifient leur vieux code en changeant progressivement des appels de getStrudents_canBeNull par des appels de getStrudents en supprimant au passage des tests obsolètes de non nullités de référence.

  2. #22
    MikeRowSoft
    Invité(e)
    Par défaut
    Citation Envoyé par martopioche Voir le message
    Pourquoi "surtout" si c'est une classe ? N'importe quelle donnée, non ?
    ok, je rajoute les requêtes SQL.

    J'ai eu l'occasion d'étudier le problème de modélisation pour BDD vers modélisation pour POO et vis versa... Et vraisemblablement le besoin d'une class age est très caractéristique pour ne plus avoir besoin d'une "zone texte" en implémentant avec certaines libraires. C'est un peu le besoin d'introduire des règles précises à l'information et a sa manipulation, voir même l'affichage ou autres puisque c'est le "contener" de l'information qui décrit le tous. Et comme d'habitude elle est stocker dans un fichier ou BDD ou "puce", c'est donc là que se trouvera les contraintes d'intégration vers l'ihm.
    Dernière modification par MikeRowSoft ; 24/07/2017 à 20h18.

  3. #23
    Membre éclairé
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2008
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 522
    Points : 725
    Points
    725
    Par défaut
    Citation Envoyé par martopioche Voir le message
    Puriste de quoi ? Parce que les puristes de la POO me diront surtout que si l'objet capitaine a une notion d'âge, celle-ci est définie dans le constructeur puisqu'un capitaine sans âge n'a pas de sens, donc il n'y a pas de méthode setAge.…

    Après, celui qui me propose une conception sur ces 3 lignes de commentaire pour me pondre un modèle qui vient complexifier l'ensemble sans apporter de solution, merci, je m'en passe. Car nous sommes d'accord que une classe Age est plus adaptée, mais il faut qu'elle puisse fournir l'âge par une AgeFactory elle même implémentant une AbstractAgeFactory pour prendre en compte les différents types de définition de l'âge. Ainsi, on peut l'injecter dans les CaptainFactory…

    Sérieux…*tu propose une classe qui encapsule un entier qui n'apporte aucun contrôle métier pour ce cas là… Oué…
    L'age changeant chaque année, la fonction setAge est nécessaire, j'ai repris l'exemple fournit, sinon il serait plus pertinant d'indiquer la date de naissance. D'ailleurs la classe age peut justement contenir la date de naissance et un pointeur vers la vrai date pour donner l'age véritable. Si on se dit que finalement on va faire comme ça, mais qu'avant on avait des int, il faudra parcourir tout le code à la traque aux âges, sinon, on modifie la classe et voilà! Si l'on modifie le constructeur, c'est simple le compilateur indiquera directement là où il faut faire les modifs.
    Après on reste sur un exemple, je ne prétent pas qu'il faille absoluement faire cela. Mais, je suis sûr que certains penserons que c'est une bonne habitude de programmation. D'ailleurs je suis tout à fait certain que tu seras content d'avoir une classe Taille, plutôt qu'un pair d'entier, une classe vec3 ou Vector3d plutôt qu'un tableau de taille 3, sans pour autant ironiser sur le fait d'avoir besoin de Factory.
    Raphchar.

  4. #24
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    renseigner donc la date de naissance et une fonction vous retourneras l'age en fonction de la date du jour
    Rien, je n'ai plus rien de pertinent à ajouter

  5. #25
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Nebulix Voir le message
    Il n'y a pas très longtemps, les organismes financiers du monde entier ont du faire réécrire leurs logiciels pour prendre en compte les taux d'intérêts négatifs.
    Oh mon dieu, les pauvres ! On peut envoyer des dons quelque part pour les soutenir dans cette dure épreuve ?

  6. #26
    MikeRowSoft
    Invité(e)
    Par défaut
    Citation Envoyé par TiranusKBX Voir le message
    renseigner donc la date de naissance et une fonction vous retourneras l'age en fonction de la date du jour
    Je dirais même que " l'unité de mesure " n'est pas toujours obligataire, en tous cas, jj/mm/aaaa ou autre, vos mieux pas se tromper...
    Le résultat d'un select ne donne pas toujours une seule liste de class déjà bien rempli et compatible (text2int ?)...

    Dans mon cas, et dans la généralité des unités de mesures, l'unité de mesure fait toujours partie de l'informations même si elle doit être traduite dans divers langues.

    P.S. : Si tu connais les règles d'accès concurrent à la même information, par deux utilisateurs dont un en modification et le signalement de cela (fond de la zone texte qui change de couleur par exemple), tu as déjà aussi compris les raisons d'un tel besoin.
    Dernière modification par MikeRowSoft ; 24/07/2017 à 21h37.

  7. #27
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 498
    Points : 1 148
    Points
    1 148
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    Oh mon dieu, les pauvres ! On peut envoyer des dons quelque part pour les soutenir dans cette dure épreuve ?
    Connais-tu le projet Louvois. Sais-tu les impacts sur les utilisateurs et le monde en general quand ce genre d'anerie arrive ? Tu te rends pas compte des consequences que cela peut avoir.
    Je peux comprendre que le monde financier a plein d'argents. Quand on veut faire les choses bien, il n'y personne. Par contre quand il y a un truc de genre, les utilisateurs et l'entreprise sont dans le meme bateau meme s'ils y sont pour rien.

  8. #28
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par Pyramidev Voir le message
    Dans ce cas, on crée une nouvelle fonction getStrudents et on met l'ancienne fonction getStrudents_canBeNull en dépréciée.
    Dans les 8000 établissements de France, ceux qui n'ont pas le temps de maintenir leur vieux code le laissent tel quel et masquent les avertissements de type "dépréciation" s'ils ne l'on pas déjà fait. Ceux qui ont le temps simplifient leur vieux code en changeant progressivement des appels de getStrudents_canBeNull par des appels de getStrudents en supprimant au passage des tests obsolètes de non nullités de référence.
    Oh les bonnes pratiques…*On déprécie mais on masque le warning car de toutes façons, elle ne sera jamais retirée…*Et puisqu'on masque le warning, vu que le développement est à base de copier/coller, de toutes manières personne ne changera progressivement et continuera à utiliser la fonction qui est déjà utilisée partout. Et surtout, pourquoi changer ? Ça marche, non ? La fonction en elle même a changée à part une modification technique ?

    L'idéal n'est-il pas d'avoir une approche que la POO utilise, un concept de fou : l'encapsulation…*On utilise un nom qui explique ce que la fonction fait, juste ça, pas de notions d'implémentation (ça, c'est notre tambouille interne), comme ça, on n'a pas besoin de mettre getStrudents_canBeNull en deprecated car il faut utiliser getStrudents_mayBeNull qui est aussi dépréciée car on a ajouté getStrudents_cannotBeNullAnymore mais qui est déprécié aussi car on a un getStrudents_ifOnlyOneWillNotBeACollection qui n'est pas resté très longtemps, un délire de l'archi, donc c'est déprécié pour un getStrudnts_cannotBeNull mais finalement on l'a aussi déprécié car il y avait une faute d'orthographe donc finalement, il faut utiliser getStrudents_cannotBeNull…

    Surtout que la logique…*On pollue le nom avec une considération technique car c'est plus facile pour l'utilisateur que de vérifier la doc de la fonction, mais on suppose qu'il ira vérifier la présence de deprecated mis sous silence…

    Citation Envoyé par MikeRowSoft Voir le message
    ok, je rajoute les requêtes SQL.
    C'est encore autre chose…

    Citation Envoyé par raphchar Voir le message
    L'age changeant chaque année, la fonction setAge est nécessaire, j'ai repris l'exemple fournit, sinon il serait plus pertinant d'indiquer la date de naissance.
    Ah, parce que, l'âge changeant chaque année, tu affecte la donnée chaque année… Et si on veut savoir quel était l'âge l'année où il a été promu capitaine, on lui affecte cet âge là auparavant…*Évidemment que l'âge est calculé à partir d'une référence comme la date de naissance, c'est un cas d'école de mise en œuvre de l'encapsulation…

    D'ailleurs la classe age peut justement contenir la date de naissance et un pointeur vers la vrai date pour donner l'age véritable. Si on se dit que finalement on va faire comme ça, mais qu'avant on avait des int, il faudra parcourir tout le code à la traque aux âges, sinon, on modifie la classe et voilà! Si l'on modifie le constructeur, c'est simple le compilateur indiquera directement là où il faut faire les modifs.
    mais WTFunk…

    Après on reste sur un exemple, je ne prétent pas qu'il faille absoluement faire cela. Mais, je suis sûr que certains penserons que c'est une bonne habitude de programmation. D'ailleurs je suis tout à fait certain que tu seras content d'avoir une classe Taille, plutôt qu'un pair d'entier, une classe vec3 ou Vector3d plutôt qu'un tableau de taille 3, sans pour autant ironiser sur le fait d'avoir besoin de Factory.
    Je ne sais pas ce qui est attendu pour une classe Taille, mais même la notion de "vecteur3d", pourquoi ? Un tableau de taille 3 ? Quelle est la case qui représente x, y et z ? Pourquoi pas un dictionnaire avec les clef x, y et z ? C'est pas suffisant ? Qu'apporte l'objet ?

    Sérieux, les bases de la POO, c'est qu'un objet, c'est une entité qui a un état et des comportements. Si tu n'a pas de comportements à gérer, un objet ne sert généralement à rien. Ok, je sais que depuis une bonne dizaine n'année on a une génération de développeurs qui n'ont jamais fait de POO mais comme ils utilisent des langages "objets" ils doivent écrire toutes les données sous forme de classes ce qui nous conduit au concept des "transporteurs de données" alimentés par des Factory (si, si, je maintiens l'ironie… :p ).

    Et au final, la discussion vient justement de supposition basées simplement sur le nom d'une méthode car dans un cas comme celui-ci, l'exposition de cette données (âge) résulte d'un besoin métier qui spécifie ce qui est attendu. Je pense donc que tout le monde conviendra qu'il manque juste la doc "Retourne l'âge en année"…

    Allez, je fini de rager : au lieu d'un capitaine, on pourrai penser à un Passenger qui pourrai être créé avec une donnée "date de naissance" et exposer une méthode qui, si date est None, retourne l'âge en années révolues à la date d'aujourd'hui sinon à la date en paramètre. On pourrai fantasmer qu'une agence de voyage utilise ce modèle ce qui permet, après avoir demandé les données au client de déterminer le type de voyageur (bébé, enfant ou plein tarif) plutôt que de l'engueuler parce que non, puisqu'il aura 3 ans au voyage, ce n'est pas un bébé, veuillez recommencer tout le dialogue… Rhâ !!! Donc, il y a besoin d'une classe pour une notion qui en soi se résume en un entier ???

  9. #29
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Points : 2 347
    Points
    2 347
    Par défaut
    Citation Envoyé par martopioche Voir le message
    (...)
    L'idéal n'est-il pas d'avoir une approche que la POO utilise, un concept de fou : l'encapsulation… (...)
    Mais on n'a pas attendu la POO pour faire de l'encapsulation...

    Je me demande bien sur quel genre de projet tu travailles pour être à ce point limité à une seule manière de concevoir le développement ?

    Et cette seule manière est totalement dans l'air du temps...

    C'est pour cela que tu n'arrives pas à convaincre tout le monde malgré la "masse" de ton argumentation :
    il y a ici des intervenants qui ont vu passer plusieurs "airs du temps". Par exemple pour les commentaires : à une époque on nous disait qu'il fallait absolument qu'il y ait plus de commentaires que de code ; puis on a voulu nous faire croire que mettre des commentaires était nécessairement la preuve qu'on code comme un porc, etc, etc.

    Quand on a vu passer plusieurs "airs du temps", on fait confiance à son expérience, et à celle des autres et à leur variété.

    C'est plus sain qu'agiter des "bonnes pratiques" comme le ferait un fanatique religieux.

  10. #30
    Nouveau membre du Club
    Femme Profil pro
    REA
    Inscrit en
    Juin 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : REA
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2014
    Messages : 20
    Points : 30
    Points
    30
    Par défaut
    Il y a une citation (je ne sais plus quel en est l'auteur) qui dit :

    "Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis, ce que vous voulez entendre, ce que vous entendez, ce que vous croyez en comprendre, ce que vous voulez comprendre, et ce que vous comprenez, il y a au moins neuf possibilités de ne pas se comprendre."
    Avec les programmes informatiques, il doit être possible de doubler le nombre de possibilités de ne pas se comprendre

  11. #31
    MikeRowSoft
    Invité(e)
    Par défaut
    Citation Envoyé par raphchar Voir le message
    Mais si l'on revient au problème initial, on peut affirmer, que si le code accepte un âge négatif si on ne le veut pas, c'est un bug, pas un manque de documentation.
    Comme tu obtiens un age négatif sans étudié avant l'an zéro ? Et principalement au carbon 14...
    Tu pourrais me donner un exemple d'usage s'il te plait ?
    La seule chose que je trouve c'est l'age du capitaine à une date donné avec pour réponse "qu'il n'est pas encore née"...

    A croire que poser la bonne question est primordiale... Surtout que même ci tu demande le nombre d'année entre une année bien précise et l'année de naissance du capitaine, que ce sera bien sur une valeur positive.

    Citation Envoyé par Nebulix Voir le message
    [...] taux d'intérêts négatifs.
    J'aurais juré qu'un taux positif que c'est une plus valus et qu'un taux négatif que c'est un déficit...

    D'habitude le vocabulaire veux que les intérêts (le "gagné" en + en banque) soit toujours positifs. C'est vrai que le principe du taux d'intérêt est subtile et un très bon exemple.

    P.S. : le "perdu" en - en banque étant aussi très souvent représenté par une valeur positive.
    Dernière modification par MikeRowSoft ; 25/07/2017 à 19h51.

  12. #32
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par koyosama Voir le message
    Connais-tu le projet Louvois. Sais-tu les impacts sur les utilisateurs et le monde en general quand ce genre d'anerie arrive ? Tu te rends pas compte des consequences que cela peut avoir.
    Je peux comprendre que le monde financier a plein d'argents. Quand on veut faire les choses bien, il n'y personne. Par contre quand il y a un truc de genre, les utilisateurs et l'entreprise sont dans le meme bateau meme s'ils y sont pour rien.
    Merci de m'avoir ouvert les yeux. Et quand les états renflouent les banques qui ont spéculé n'importe comment, avec l'argent du contribuable et sans contrepartie, c'est toujours le même bateau ?

  13. #33
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 498
    Points : 1 148
    Points
    1 148
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    Merci de m'avoir ouvert les yeux. Et quand les états renflouent les banques qui ont spéculé n'importe comment, avec l'argent du contribuable et sans contrepartie, c'est toujours le même bateau ?
    Si tu as fait un peu fait d'economie, OUI, oui et encore OUI. C'est un peu desolant de voir ce genre de scenario. Mais croire a la bonte du systeme est tres mignon de ta part ^^.

    La societe repose sur des piliers importants. Si tu regardes Mr Robots, tu peux voir un apercu de ce que peut arriver au monde sans un systeme monetaire comme les banque. Ou si tu prefere, ouvre un livre d'histoire et ouvre la page entre Antiquite et Moyen-Age. C'est le meilleur exemple.

    Ensuite les etats jouent un drole de jeu avec les banques. Que tu le veux ou pas, la banque est un pilier centrale d'une societe, de la democracie et du pouvoir en place. Je pense que t'a vu dans Game of throne que meme les Lanisters sont plier devant la banque. Tu peux faire comme le roi de France et detuire tous les templiers, mais quel source financiere te fera confiance ?

    C'est le systeme le plus pervert. Si tu prends pas des extraits de films et de series. Je te ferais reference a la crise de wall street en 1938 qui causera plus tard la deuxieme guerre mondiale.

    Alors oui, a moins on a tous les couilles comme les islandais pour emmerder les banques. La banque est loi, la banque est au dessus des etats et la banque peut definir vie ou de mort sur un etat. En plus tu regarde cette etude, tu verras que la France est specialiste dans le monde financier, on est un peu lie avec ce monde la.

  14. #34
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Tu raconte n'importe quoi, les banques au contraire ne sont pas au dessus des états et si on est dans la merde jusqu'au coup c'est justement a cause du faite que les banque soient au dessus des états.

    Le problème fondamentale de notre system économique est la création monétaire et sont contrôlé pour le bien de l'humanité et pas pour une minorité.
    La dette des pays est une insulte à l’intelligence des gens comment on peut rembourser 150 euros quand on emprunte 100 euros et quand le System il n'y a que 100 euros ????? ben on emprunte 150 euros ????

    Mais la révolution est en marche car on vois bien que le system arrive a bout de souffle donc soient les manager/directeur/politique accepte de changer le System soi ça sera la guerre.

    Le system idéal est pourtant simple :
    L’Europe tous les ans vote un budget (création monétaire ) en fonction de l'inflation de l’année précédente et des besoin d’intérêt public (santé éducation défense ).
    Dans ce System plus besoin d'impôts et comment du travail pour tous le monde.
    Donc plus besoin de donner des aides , des allocations car tous le monde peut avoir un boulot.

    Je suis en train de créer un petit jeux de stratégie pour mettre en évidence que ce modèle fonctionne , pour un objectif simple faire la guerre contre un adversaire

  15. #35
    Membre éprouvé
    Homme Profil pro
    Everything
    Inscrit en
    Décembre 2013
    Messages
    361
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Everything

    Informations forums :
    Inscription : Décembre 2013
    Messages : 361
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par super_navide Voir le message
    Tu raconte n'importe quoi, les banques au contraire ne sont pas au dessus des états et si on est dans la merde jusqu'au coup c'est justement a cause du faite que les banque soient au dessus des états.

    Le problème fondamentale de notre system économique est la création monétaire et sont contrôlé pour le bien de l'humanité et pas pour une minorité.
    La dette des pays est une insulte à l’intelligence des gens comment on peut rembourser 150 euros quand on emprunte 100 euros et quand le System il n'y a que 100 euros ????? ben on emprunte 150 euros ????

    Mais la révolution est en marche car on vois bien que le system arrive a bout de souffle donc soient les manager/directeur/politique accepte de changer le System soi ça sera la guerre.

    Le system idéal est pourtant simple :
    L’Europe tous les ans vote un budget (création monétaire ) en fonction de l'inflation de l’année précédente et des besoin d’intérêt public (santé éducation défense ).
    Dans ce System plus besoin d'impôts et comment du travail pour tous le monde.
    Donc plus besoin de donner des aides , des allocations car tous le monde peut avoir un boulot.

    Je suis en train de créer un petit jeux de stratégie pour mettre en évidence que ce modèle fonctionne , pour un objectif simple faire la guerre contre un adversaire
    Heureusement que la crypto-monaie arrive au secour du citoyen. Enfin une monaie sans controle ni des banques ni des états dont la valeur ne dépends que et exclusivement que du marché.
    Pour revenir à la documentation, je dirais que tout se documente et que le code autodescriptif n'existe pas; c'est comme expliquer un problème et sa solution en équations mathématiques et dire qu'il n'y a pas besoin de dire pourquoi cette équation a été choisie plutôt qu'une autre pour pondre un résultat final.
    Je peste terriblement sur les gens qui codent en Frotran en me disant que ça n'a pas besoin d'être doccumenté puisque tout est dans le code; j'immagine que ça doit être pareil pour c'eux qui codent en C, Pascal, Assembleur, etc ...
    A vos docummentations !
    Ceux qui abandonnent une liberté essentielle pour une sécurité minime et temporaire ne méritent ni la liberté ni la sécurité.
    Benjamin Franklin

  16. #36
    Membre éclairé
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2008
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 522
    Points : 725
    Points
    725
    Par défaut
    Citation Envoyé par martopioche Voir le message
    Je ne sais pas ce qui est attendu pour une classe Taille, mais même la notion de "vecteur3d", pourquoi ? Un tableau de taille 3 ? Quelle est la case qui représente x, y et z ? Pourquoi pas un dictionnaire avec les clef x, y et z ? C'est pas suffisant ? Qu'apporte l'objet ?
    Pourquoi x, y, z et pas r, g, b ? Je crois qu'il y a trois conventions de nommage des vecteurs pour les shaders. Si on prend un dictionnaire, alors dico[x] et dico[r] ne pointerons pas vers le même objet à priori, et si l'on utilise un dico, l'initialisation est lourde et rien n'empêche d'ajouter d'autre éléments. Mathématiquement, un vecteur 3d aura trois coefficiants (float ou autre): le premier, le deuxième et le troisième, donc un tableau est bien mieux si l'on ne veut pas d'encapsulation.
    Maintenant, sans encapsulation, je n'aurai pas d'opérateurs mathematiques indispensable pour mes vecteurs (additions, multiplication par un scalaire, produit scalaire, produit en croix, normalisation), ni de méthodes (norme, norme au carrée), donc je devrais implémenter de moches fonction à la C
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array[3] add(array[3]& bla, array[3]& toto);
    C'est stupide car avec une classe, je peux ajouter mes méthodes et opérateurs, je peux cacher ma variable en privée. Je peux utiliser mes conventions de nommage xyz et rgb. Clairement se rabattre sur un array ou un dico, n'est pas satisfaisant. D'ailleurs, les libs que j'utilises ont toutes une classe vecteur.
    Raphchar.

  17. #37
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 498
    Points : 1 148
    Points
    1 148
    Par défaut
    Citation Envoyé par super_navide Voir le message
    Tu raconte n'importe quoi, les banques au contraire ne sont pas au dessus des états et si on est dans la merde jusqu'au coup c'est justement a cause du faite que les banque soient au dessus des états.
    Le problème fondamentale de notre system économique est la création monétaire et sont contrôlé pour le bien de l'humanité et pas pour une minorité.
    ^^ J'adore ta naivete. Il y a aura jamais de revolution en place. Tout simplement les gens detestent le changement. Le Brexit en ait la preuve vivante, de belle parole pour vouloir revenir en arriere pour certain.
    Je pensais comme toi "pour le bien de l'humanite". J'ai vu un peu d'en haut, un peu au milieu et beaucoup d'en bas et dans differents endroit et le bien de l'humanite tu peux l'oublie.
    Les points d'histoire que je t'ai cite montre a qu'elle point le systeme ne changera pas. Et je ne suis pas sur que la crypto-monnaie va aider quoi ce soit. En plus le bitcoin a un probleme de performances, peut etre que ce sera euthereum.

    Tu peux creer le meilleur system monetaire que tu veux, c'est pas que du virtuel. Tant que l'humanite est evil, tu pourras jamais rien faire. "Je ne vis pas pour travailler, mais je travaille pour vivre", penses-tu vraiment que tout le monde veut sa. Regarde ce qui se passe en Amerique du sud, c'est la famine partout. Je regardais ce documentaire "French-bashing" (il est sur youtube) et montre clairement la difference de mentalite entre un anglais, americain et un francais. J'ai ete un Londres et il y a avait la statue du fondateur de LLyod (grande banque anglaise) a cote l'abbaye de webminster, juste a cote de la statue de Lincoln, Nelson Madela et Gnadhi pour te dire. La France c'est pas le monde et le monde ne veut pas de solution. Il aime le systeme comme il est.

    Desole de te le dire mais les banques sont au dessus des etats. Et connait quelqu'un qui peut se payer une monaie de 2500 dollars l'unite, si sa crache tu peux perdre jusqu'a 2500 fois ta mise. La banque travaille pour les grands et pas pour les minorites. Les subprime est la preuve pour toutes les banques que donner de l'argent au pauvre est grostesque (de leur point de vue, pas du moins) et aussi pour la Grece.

  18. #38
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par koyosama Voir le message
    Si tu as fait un peu fait d'economie, OUI, oui et encore OUI. C'est un peu desolant de voir ce genre de scenario. Mais croire a la bonte du systeme est tres mignon de ta part ^^.

    La societe repose sur des piliers importants. Si tu regardes Mr Robots, tu peux voir un apercu de ce que peut arriver au monde sans un systeme monetaire comme les banque. Ou si tu prefere, ouvre un livre d'histoire et ouvre la page entre Antiquite et Moyen-Age. C'est le meilleur exemple.

    Ensuite les etats jouent un drole de jeu avec les banques. Que tu le veux ou pas, la banque est un pilier centrale d'une societe, de la democracie et du pouvoir en place. Je pense que t'a vu dans Game of throne que meme les Lanisters sont plier devant la banque. Tu peux faire comme le roi de France et detuire tous les templiers, mais quel source financiere te fera confiance ?

    C'est le systeme le plus pervert. Si tu prends pas des extraits de films et de series. Je te ferais reference a la crise de wall street en 1938 qui causera plus tard la deuxieme guerre mondiale.

    Alors oui, a moins on a tous les couilles comme les islandais pour emmerder les banques. La banque est loi, la banque est au dessus des etats et la banque peut definir vie ou de mort sur un etat. En plus tu regarde cette etude, tu verras que la France est specialiste dans le monde financier, on est un peu lie avec ce monde la.
    C'est bien joli les démonstrations scientifiques à base de séries télé et de stats linkedin mais je ne vois toujours pas en quoi des banques auraient le droit de faire n'importe quoi avec l'argent des autres et pourquoi en plus on devrait les plaindre quand ils doivent payer quelques développeurs pour gérer l'an 2000 ou les taux d'intérêt négatifs.

  19. #39
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 83
    Points : 132
    Points
    132
    Par défaut software craftsmanship
    L'occasion de refaire un peu de pub pour cet excellent bouquin Robert C. Martin : "Coder proprement" ...."un commentaire utile est celui qu'on n'a pas besoin d'écrire"

    Le commentaire est souvent une excuse ou une facilité pour laisser du code crade.
    Je préfère pas de commentaire à un mauvais commentaire qui va induire en erreur.

    Ainsi source autodescriptif = le développeur veille à ce nommer précisément ses intentions, ce qu'il fait, le "comment" et le "quoi"
    Le commentaire sera complémentaire pour indiquer le "pourquoi" (choix d'une implémentation plûtot qu'une autre, etc.)
    Doc utilisateur (javadoc...) : uniquement pour des API externes/publiques, si boite noire ça peut être utile pour l'équipe de développement mais en général ce sont des spécialistes de ces boites noires donc à quoi bon polluer le code et maintenir une javadoc...
    Les tests précis et bien nommés peuvent aussi faire office de documentation, exemples, tutos, notamment pour tout ce qui est "code privé" justement...c'est d'ailleurs ce qui est souvent le plus facilement/nécessairement testable (test unitaire).

  20. #40
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Citation Envoyé par HaraKity Voir le message
    Il y a une citation (je ne sais plus quel en est l'auteur) qui dit :
    À ma connaissance, elle provient de Bernard Werber (https://fr.wikiquote.org/wiki/Bernard_Werber).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/04/2010, 01h21
  2. Contribuez à la FAQ et aux CODES SOURCE XML
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 21/04/2008, 20h52
  3. Réponses: 6
    Dernier message: 19/07/2007, 12h30
  4. Je cherche le code-source d'un interface de Windows
    Par Robert A. dans le forum Windows
    Réponses: 5
    Dernier message: 02/06/2003, 09h45
  5. [VB6] Code source pour modifier MsgBox
    Par khany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/02/2003, 15h13

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