Journal Déçu, déçu, déçu

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
-1
7
oct.
2018

Je suis déçu par l'humanité.

Il semble que personne, ou presque, n'arrive à être et à rester cohérent.

Là je fais de la comptabilité, et dès que deux personnes différentes interviennent les libellés utilisés changent, horreur!

Quand je code et qu'un autre développeur intervient, les normes d'espacement et de nommage changent, double horreur!!

Dans un texte les normes typographiques sont différentes, la ponctuation évolue, le niveau de langage change, triple horreur!!!

Pourtant j'aime à penser que ce n'est pas compliqué: regarder ce qui est autour de soi et se fondre dans l'existant. Ainsi un maçon aurait mauvais ton d'utiliser une brique jaune dans un mur rouge, et on lui ferait remarquer rapidement.

Et cela s'applique dans tellement de domaines!

Il faut comprendre les règles en place et les appliquer. Ou alors les faire évoluer et les reprendre comme une entité qui doit évaluer dans son entièreté. C'est d'ailleurs lors de cette évolution que l'on peut retirer de gros avantages à cette organisation. Ou lorsque l'on veut créer d'autres informations, des consolidations ou des statistiques.

On peut enfreindre une règle, si on sait pourquoi. On peut utiliser des briques jaunes, si cela a une utilité.

Mieux encore, on peut chercher quelles règles mettre en place, c'est un passe temps que certains appellent conception!

Il faudra que je relise cette diatribe, pour m'assurer de sa cohérence. Vérifier que la ponctuation est bonne, que les phrases soient terminées par des points. Une tabulation par ci, un saut de ligne

  • # Comme par exemple...

    Posté par  . Évalué à 10.

    …mettre un espace avant un signe de ponctuation double ? Quadruple horreur !

    • [^] # Re: Comme par exemple...

      Posté par  (site web personnel) . Évalué à 10.

      Voire une espace !

    • [^] # Re: Comme par exemple...

      Posté par  . Évalué à 9.

      Pour être plus explicite, en français de France, la ponctuation est parfaitement standardisés. Il n'y a qu'une seule manière de le faire correctement.

      • [^] # Re: Comme par exemple...

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        Typographie, que l'on devrait laisser aux systèmes informatiques plutôt qu'aux auteurs.

        Notamment car les caractères et techniques ne sont pas à la portée de tout le monde.

        • [^] # Re: Comme par exemple...

          Posté par  . Évalué à 10. Dernière modification le 08 octobre 2018 à 01:25.

          Après des cours de maçonnerie pas très convaincants (voire risibles) tu te reconvertis déjà dans les cours de typographie ?

          Pour infos, la norme AFNOR sur les dispositions de clavier a été en partie faite par des imprimeurs (pour la partie azerty) et tout y est niveau typographie et caractères européens (enfin avec fr OSS je crois que c'était déjà un peu le cas pour les systèmes d'exploitation utilisant xkb). Il a aussi été dès le brouillon convenu que la pression d'une touche = un caractère et que c'est aux logiciels et aux utilisateurs d'activer ou non une correction typographique ou des macros. Principes que les gens de bépo ont depuis longtemps assimilé.

          Et laisser ça aux "systèmes informatiques" plutôt qu'aux logiciels ou aux utilisateurs ça pose un problème pour les IDE, les éditeurs de texte brut, les émulateurs de terminal ainsi que les gens qui basculent d'une langue (ou dialecte) à une autre ou ceux qui ne veulent pas utiliser le standard pour diverses raisons (artistiques par exemple, comme on faisait des motifs muraux avec les briques trop cuites).
          Puisque tu aimes les analogies, c'est comme si tu voulais imposer les petites roues sur tous les vélos. C'est très dirigiste comme façon de penser l'ergonomie.

          • [^] # Re: Comme par exemple...

            Posté par  (site web personnel, Mastodon) . Évalué à 2.

            Ah zut, j'ai perdu la touche pour le quart de cadratin.

            Tu sais où elle est?

            Et celle pour le point médian?

            :-)

            J'aime bien ce genre de discussion, j'ai même codé un truc autour!!!

            http://frtypo.acoeuro.com

            • [^] # Re: Comme par exemple...

              Posté par  . Évalué à 3.

              Ah zut, j'ai perdu la touche pour le quart de cadratin.
              Tu sais où elle est?
              Et celle pour le point médian?

              J'utilise pas azerty (même en dépannage je bascule en USqwerty qui a l'avantage d'être absolument partout) mais oui après presque deux ans à utiliser bépo quotidiennement je connais leurs emplacements sur la disposition que j'utilise, aucun problème non plus avec les différentes espaces insécables. Et si c'est un caractère que j'utilise pas assez pour avoir mémorisé son emplacement j'ai toujours le PDF aide-mémoire dans /home et au pire il y a le site de la disposition.
              Mais tu peux aussi personnaliser ta disposition de manière poussée avec une commande setxkbmap et tu as aussi Compose disponible sur à peu près tous les OS.

              Après c'est pas parce que la frappe dactylographique n'est plus enseignée à l'école qu'il faut se résigner à taper à deux doigts sur ton clavier 105 touches, particulièrement quand c'est ton outil de travail. Pareil quand tu fais du design et de la mise en page, c'est à toi d'utiliser les outils qui conviennent, d'apprendre à t'en servir, les personnaliser et connaitre les conventions d'écriture (même si c'est pour t'en écarter).

    • [^] # Re: Comme par exemple...

      Posté par  . Évalué à 5. Dernière modification le 07 octobre 2018 à 21:07.

      …mettre un espace avant un signe de ponctuation double ? Quadruple horreur !

      Tout de suite la dérision. On peut lui accorder le bénéfice du doute et considérer qu'il s'inclut dans ce désastre et qu'il en est d'autant plus désolé.

  • # Tu as mangé quoi ou fumé quoi avant ?

    Posté par  . Évalué à 2.

    Intéressant comme journal, mais cela fait longtemps que nous sommes tous différents.
    Après il faut faire attention, fumer des substances prohibées peut mener à écrire des journaux étranges, et ensuite on regrette…ou pas
    Mais intéressant comme concept :-)

  • # […] se fondre dans l'existant […]

    Posté par  (site web personnel) . Évalué à 5.

    Imiter sans chercher à comprendre, quelle tristesse pour un humain.

    Ça me rappelle le message de « La tyrannie de l'absence de structure » : https://infokiosques.net/spip.php?article2

    Une règle à partager doit être expliquée et écrite, sinon la pagaille profite aux plus forts, ou aux plus fourbes.

    C'est notre créativité que nous distingue, c'est ce fourmillement d'improvisations et d'explorations qui nous sauve.

    La liberté ne s'use, que si on ne s'en sert pas.

    • [^] # Re: […] se fondre dans l'existant […]

      Posté par  (site web personnel) . Évalué à 5.

      Et puis pourquoi vouloir que les humains s’astreignent à la rigueur de machines ?

      Si quelque chose doit être régulier, autant le faire faire par une machine. Les musicien utilisent des métronomes.

      Si le but est d'être compris des humains, la diversité des codes de la route, ou des insignes de toilettes à travers le monde n’empêchent pas ce dernier de tourner, ni les humains de s'y retrouver :-)

      La liberté ne s'use, que si on ne s'en sert pas.

      • [^] # Re: […] se fondre dans l'existant […]

        Posté par  (site web personnel) . Évalué à 1.

        La comparaison musicien métronome est fort étrange ( les musiciens ne font rien faire par des machines). Peut être des samples?

        Cela dit j'opine avec l'auteur car nbre d'êtres créent en croyant générer de la valeur, la où leur bassesse ne leur fait générer que peine, désolation etnchaos, dans le meilleur des cas, sinon petitesse, mesquinerie, transparence.

        • [^] # Re: […] se fondre dans l'existant […]

          Posté par  (site web personnel, Mastodon) . Évalué à 3.

          Ligeti a écrit un poème symphonique pour 10 métronomes où seuls ceux ci font la musique. Karlheinz Stockhausen une pièce pour quatuor à cordes et hélicoptère, John Cage faisait de la musique concrète et Arseny Avraamov à écrit la Symphonie des sirènes. Et cela sans parler du GRM :-) Beaucoup de compositeurs modernes font donc appel à des machines pour produire de la musique. et, accessoirement, un chanteur qui utilise un logiciel pour modifier sa voix le fait aussi.

          Quant à la régularité à faire faire par des machines, mouais. Cela dépend du domaine : pour l'instant il n'existe pas de machine capable de crocheter et la régularité du tricot est ce qui fait l'art des personnes qui tricotent.

          « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

      • [^] # Re: […] se fondre dans l'existant […]

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        Faire faire par une machine, c'est l'une des bonnes manières de régler le soucis d'homogénéité.

        Note que cette problématique de cohérence, se retrouve dans beaucoup de domaines, y compris dans les idées, les attitudes, les comportements. Tu n'y es pas sensible? :)

  • # Bof

    Posté par  (site web personnel) . Évalué à 10.

    Je suis déçu par l'humanité.

    Il semble que personne, ou presque, n'arrive à être et à rester cohérent.

    S'il n'y a que ça qui te déçois dans l'humanité, finalement rien de grave.

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: Bof

      Posté par  (site web personnel) . Évalué à 2.

      bah je crois que c'était un peu une blague incluse dans le journal ; je demande à mon cabinet de confirmer ce point. Cela dit que la ponctuation soit pas grave, n'engage que lolop.

  • # question

    Posté par  . Évalué à 6.

    Si je vois du code de merde, je dois pondre du code de merde?

    Si ton maçon se rends compte que le mur tel qu'il est va s'écrouler si on continue dans la même veine dois continuer?

    Pour ton problème de style de codage, les IDE font ça depuis longtemps pour les espaces tabulations, ordonnancement des import/include… Pour le nommage cela devrait être un papier ou un document.

    Se fondre dans le code existant? C'est aggraver la dette technique. Récemment lors d'une relecture de code j'ai demandé à un collègue pourquoi il a utilisé 3 lignes pour récupérer un attribut xml, alors qu'on a une fonction qui le fait en une seule, et qui est plus lisible et qui permet d'avoir une abstraction au dessus de xercesc. La réponse : c'est fait comme ça ailleurs…

    Les langages évoluent, le Java avec les générique, le c++ depuis 2011, devrait on coder comme en 2000?

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: question

      Posté par  (site web personnel, Mastodon) . Évalué à 6.

      La réponse : c'est fait comme ça ailleurs…

      S'il y a bien une réponse qui m'agace c'est celle-ci en effet. Le "c'est pourri pareil" chez les autres n'est pas un argument.

      « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

      • [^] # Re: question

        Posté par  (site web personnel) . Évalué à 8.

        n'est pas un argument.

        il y a aussi le « on a toujours fait comme ça »…

        • [^] # Re: question

          Posté par  (site web personnel) . Évalué à 5.

          Mais en même temps, si à un moment du projet, il y a une phase de ré-écriture/factorisation/correction du code, c'est plus facile de corriger un mauvais code identique réutilisé à chaque fois de la même manière que des solutions différentes, plus ou moins bonnes, suivant le programmeur en fonction de son humeur et de la doc lue.

    • [^] # Re: question

      Posté par  (site web personnel) . Évalué à 3.

      Je ne pense pas que l'auteur pensait à ça (du code de merde) en parlant de se fondre dans l'existant.

      Ce qu'il dénonce est plutôt de l'ordre du style, de la cohérence globale et de l'organisation, permettant une collaboration entre plusieurs acteurs plus aisée parce que lorsqu'on adopte un style, on configure son cerveau d'une certaine façon qui nous permettra de lire et comprendre rapidement le texte (ou le code, ou la compta, etc.). Si chacun y va de son style, et qu'il faut se reconfigurer mentalement toutes les lignes, on perd du temps et de l'efficacité.

      Donc son problème est effectivement le non suivi d'une convention, mais on ne peut pas mettre dans cette catégorie la mauvaise utilisation d'une API par imitation, une conception ratée, ou du cargo culting technique : ce sont des problèmes différents.

      Son maçon qui pose une brique jaune, il n'a pas dit qu'il la posait de travers, mais juste que ça jurait sur le résultat final.

      • [^] # Re: question

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        C'est-à-dire qu'il est nécessaire d'établir un langage réellement commun, ou code comme dans code de conduite ou code vestimentaire plutôt que comme dans code informatique, qui facilite effectivement le travail en commun. D'où l'intérêt, d'un point de vue pragmatique, des conventions de nommage, des modèles et des classifications.

        « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

      • [^] # Re: question

        Posté par  (site web personnel) . Évalué à 10. Dernière modification le 08 octobre 2018 à 11:24.

        • le maçon pose une brique jaune parce qu'il n'a absolument pas regardé ce qu'ont fait les autres ;
        • le maçon pose une brique jaune parce qu'il sait que c'est mieux (selon lui), et tant pis pour ce qu'ont fait les autres ;
        • le maçon enlève chaque brique rouge et repose tout en briques jaunes parce qu'il sait que c'est mieux (selon lui) ;
        • le maçon discute avec les autres maçons pour que le remplacement des briques par des jaunes soit planifié et que l'on décide si l'on pose des rouges ou des jaunes à court terme ;
        • le maçon dit au plâtrier que les autres sont nuls, met un coup de masse dans le mur et lui dit de poser du placo ;
        • le maçon rage-quits.
        • [^] # Re: question

          Posté par  (site web personnel) . Évalué à 6.

          • le maçon poserait bien une brique jaune. Il lui suffirait de glaise jaune, d'un moule en bois, d'un four à bois en briques réfractaires. Donc il lui faudrait une hache pour couper du bois, et de la silice et de l'alumine pour la brique réfractaire. Et une pioche donc pour en trouver. Ah oui une forge aussi pour faire une pioche et une hache. Et du coup il faudrait… Tiens le client a pris un autre maçon.
        • [^] # Re: question

          Posté par  . Évalué à 2.

          Le macon pose ses briques jaunes au milieu des briques rouges, on s'en branle, de toute facon le client à prévu de tout faire crépir après.

      • [^] # Re: question

        Posté par  . Évalué à 5.

        Son maçon qui pose une brique jaune, il n'a pas dit qu'il la posait de travers, mais juste que ça jurait sur le résultat final.

        Met du c++11 au milieu d'un code datant de 2005, ça va jurer, avoir du java 8 dans des morceaux de codes datant d'avant java 5 (ou 1.5) ça jure grave, le style n'est pas du tout le même.

        Le soucis c'est que c'est 2 langages qui ont radicalement évolués, et que les nouvelles possibilité du langage changent la façon de coder. Ajoute à cela que le projet à connu des gens plus ou moins expérimentés et certaine briques utilitaires ont été mise en place (notamment dans le cas de la lecture/écriture des xml).

        Et même si on ne prends pas en compte ces évolutions de langage, ce n'est pas une convention de codage qui va unifier le style; en lisant le code, je suis capable d'identifier qui a codé certaines parties, et pourtant les espaces sont gérés pareils, les variables membres sont suffixé par '_', on est en camlCase, l'ordre des include/import est le même les retours à la ligne avant les {} aussi, et pourtant le style est fondamentalement différent.

        • L'un c'est plus du C avec un habillage C++
        • Une autre c'est le paradis de la duplication de code (ou l'enfer)
        • Un autre c'est concis avec des template pour éviter la duplication
        • Un autre c'est le paradis des patrons de conception (ou l'enfer), même lorsque ce n'est pas nécessaire. Et refuse toute compromission sur ses bonnes pratiques
        • Un autre ressemble au 3e mais avec moins de template.
        • Un autre fait des outils RAII pour simplifier la vie.
        • Un autre fait du code anormalement long et compliqué…
        • Un autre fait des new alors qu'une variable locale fait l'affaire ;)

        Alors oui si on leur demande un "hello wold!", on aura 8 fois le même code, dès qu'on rentre en technique, le découpage en fonction, la structuration du code et la façon de résoudre le problème va être différente.

        Alors ensuite certains développeur ont des points commun et on n'est pas à 100% certain de l'un ou l'autre.

        Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: question

        Posté par  . Évalué à 2.

        Ce qu'il dénonce est plutôt de l'ordre du style, de la cohérence globale et de l'organisation, permettant une collaboration entre plusieurs acteurs plus aisée parce que lorsqu'on adopte un style, on configure son cerveau d'une certaine façon qui nous permettra de lire et comprendre rapidement le texte (ou le code, ou la compta, etc.).

        Je ne vois pas pourquoi lorsque je code par exemple, je devrais adopter un style qui ne me convient pas, ou auquel mon cerveau n'est pas habitué, juste parce que quelqu'un pense détenir la vérité et l'impose aux autres.

        En voulant tout règlementer, on en arrive à des trucs sclérosés et contre productifs, qui inhibent la créativité.

        Dans du code, par exemple, je ne vois pas pourquoi on irait pourrir la vie d'un développeur parce qu'il utilise un style de codage différent des autres, à partir du moment ou les interactions externes sont définies et normalisées (l'interface de codage).

        Ensuite, on peut utiliser des outils de mise en forme pour uniformiser les trucs tels qu'indentation, etc … mais aller trop loin est en général contre productif.

        Après, établir certaines conventions ne fait pas de mal lorsqu'elles sont simples et facilement assimilables (par exemple éviter d'utiliser des noms de variables qui ne veulent rien dire, par exemple a = machin, b = truc …), mais aller dans l'arbitraire (style coder des variables avec les 3 premiers caractères qui correspondent à un truc, les 5 suivants à un autre et les 2 dernier a encore autre chose) ne mène jamais à rien de bien.

        • [^] # Re: question

          Posté par  (site web personnel) . Évalué à 4.

          Je ne vois pas pourquoi lorsque je code par exemple, je devrais adopter un style qui ne me convient pas, ou auquel mon cerveau n'est pas habitué, juste parce que quelqu'un pense détenir la vérité et l'impose aux autres.

          Quand tu rajoutes du code au milieu de code existant, tu ne lis pas le code autour ?

          Le futur mainteneur qui devra repasser sur cette section de code (ne serait-ce que pour la relire), que tu as modifié mais sans appliquer les mêmes règles de style, devra lui reconfigurer son cerveau plusieurs fois au lieu d'une seule.

          Ensuite, on peut utiliser des outils de mise en forme pour uniformiser les trucs tels qu'indentation, etc … mais aller trop loin est en général contre productif.

          Oui pourquoi pas se reposer sur des outils pour finaliser la mise en forme. Et oui, pas la peine de tout codifier pour finir avec un codex de 1000 pages sur le style à adopter. Il faut trouver un juste milieu. En général, quelques règles suffisent à rendre le code un minimum homogène, et ça produit déjà de « l'effet » lors de la relecture du code.

  • # Ça ne serait pas arrivé...

    Posté par  (site web personnel) . Évalué à 1.

    Si tu mettait à l'entrée un contrôle fort du typage.

    (PS: l'option de ne faire entrer de donnée est tout à fait compatible avec ma proposition.)

    Adhérer à l'April, ça vous tente ?

  • # Pourquoi un standard serait-il spontanément adopté ?

    Posté par  . Évalué à 2.

    Les standards ne naissent pas du néant. Soit on se met d'accord pour définir un standard et on définit un process pour valider qu'il est respecté, soit il n'y a pas de standard. Le simple mime du standard ne suffit pas à le respecter ; même les standards de facto ont une définition.

    Pourquoi poserais-je une brique jaune dans un mur rouge si les briques rouges sont 4 fois plus chères ? Eh bien si j'ai établi un devis pour poser de nouvelles briques rouges et que le client l'a accepté, elles seront rouges.

    Si vous souhaitez que des standards émergent, définissez-les, portez-les, partagez-les et surtout faites-les respecter.

    • [^] # Re: Pourquoi un standard serait-il spontanément adopté ?

      Posté par  . Évalué à 3.

      I faut surtout que le standard en question apporte quelque chose dans le cadre ou il est utilisé, par rapport à ce que ça coute de le faire respecter.

      Dans le cadre de la construction par exemple, il est certainement inutile de batir des batiments conçus pour résister à de fortes secousses sismiques si on ne se trouvepas dans une zone à risques.

      • [^] # Re: Pourquoi un standard serait-il spontanément adopté ?

        Posté par  . Évalué à 5. Dernière modification le 09 octobre 2018 à 09:40.

        La pertinence du standard n'a qu'une faible importance dans son adoption. Prenons Excel, par exemple. Il est connu dans les milieux développeurs et/ou scientifiques pour être source d'erreurs de calcul. Prenons maintenant les milieux économiques et managériaux, eh bien ils s'en servent pour des calculs monétaires et de budget. C'est absurde qu'un outil inadapté soit le standard, mais ça reste le standard de facto en dépit du bon sens.
        J'ai choisi d'illustrer d'abord avec le cas des tableurs, mais regardez aussi le protocole IP en unicast pour la diffusion vidéo, le HTTP pour la SOA moderne. Le monde est rempli de standards inefficaces.

        • [^] # Re: Pourquoi un standard serait-il spontanément adopté ?

          Posté par  . Évalué à 3.

          C'est pour ça que j'ai écrit qu'il faut que le standard apporte quelque chose, et Excel apporte quelque chose : c'est une espèce de couteau suisse, un outil généraliste qui permet de faire plein de choses.

          le protocole IP en unicast pour la diffusion vidéo

          Et l'alternative, ce serait quoi ?

          le HTTP pour la SOA moderne.

          Même question.

          Le monde est rempli de standards inefficaces.

          Mais ça couterait combien d'avoir un standard "efficace" ?

        • [^] # Re: Pourquoi un standard serait-il spontanément adopté ?

          Posté par  . Évalué à 3.

          le protocole IP en unicast pour la diffusion vidéo

          Je suppose que tu parle de la diffusion en direct (sinon je ne comprends pas la remarque). Et bien justement les FAI utilisent le multicast pour ça. Après pour Youtube ou Twitch, le multicast n'est pas trop adapté à l'Internet moderne ou personne ne respecte la BCP38 (mais c'est un peu ça l'Internet moderne).

          « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

  • # L'automne...

    Posté par  . Évalué à 2.

    Attention à la dépression quand même… L'hiver est encore un peu loin.

  • # yapf

    Posté par  . Évalué à 1.

    Faut du yapf/black dans tous les domaines :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.