Annonce

Réduire
Aucune annonce.

Programmation défensive VS par contrat

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Programmation défensive VS par contrat

    Bonsoir,

    Tout est dans le titre!
    J'aimerais savoir ce que vous pensez de ces deux différents paradigmes de programmation.
    Autre question subsidiaire : Est-ce que vous documentez votre code, plus ou moins rigoureusement ?

    Voilà en gros j'aimerais savoir comment vous avez pris l'habitude de programmer au cours du temps, comment vous vous adaptez à différentes situations, pourquoi tel choix et pas un autre, etc ...
    Mais ce qui m'importe le plus est d'avoir des avis par rapport à la question du titre

    Merci d'avance

    Blackwater

  • #2
    Perso on m'a toujours appris à commenter pour éclaircir le code après pour certains problème c'est surtout de l'analyse avec le temps sa vient on sais contourner tel ou tel problème et un peu différent d'intuition voilà

    Commentaire


    • #3
      Programmation défensive VS par contrat
      Par contrat, parce-que le pattern défensif est souvent coûteux dans les programmes demandant à être efficace.

      Le défensif est aussi parfois une source d'erreurs, on essaye d'éviter les erreurs, et en fait on en crée une...

      Par contrat encore une fois, car souvent les erreurs sont déjà gérées par le compilateur/interpréteur et que encore une fois, inutile de gérer ce qui est déjà géré, c'est une perte de temps, dans l'écrit du code, dans l'efficacité du programme et en plus on risque de se planter.

      Après faut arrêter de penser patterns, prendre le temps de réfléchir à ses besoins, et souvent sans le savoir on sort un pattern connu que l'on ne connaît pas forcément. C'est une réflexion, et la conception devient naturelle.

      Est-ce que vous documentez votre code, plus ou moins rigoureusement ?
      Non ! Pourquoi ? C'est simple, je choisis mes noms de variables suffisamment explicites pour que le code soit lisibles et compris par les lecteurs de mon code.
      Mais quand j'ai un doute sur sa lisibilité, alors j'hésite pas à en mettre.

      Voilà en gros j'aimerais savoir comment vous avez pris l'habitude de programmer au cours du temps, comment vous vous adaptez à différentes situations, pourquoi tel choix et pas un autre, etc ...
      Souvent on code comme un va comme je te pousse, car l'application et le résultat prennent le dessus sur la rigueur et le purisme, ce qui est tout le contraire pour quelqu'un comme moi par exemple, qui suis assez rigoureux et amoureux de la grammaire programmation, en lisant normes, forums techniques, livres, etc. Ça doit fonctionner, mais même si ça sert à rien il faut que se soit optimiser, lisible.

      Il arrive que je dise que l'essentiel, c'est que ça fonctionne, mais j'en crois pas un mot Je dirais que ça m'énerve, mais je me met à leur place, eux qui n'en ont rien à faire de la grammaire.

      Le travail en amont, c'est la conception, comment je vais organiser selon le langage que je vais utiliser. Est-ce que je vais utiliser plusieurs langages à la fois, bref, c'est ce qui me prend le plus de temps, coder une fois qu'on a fait cela, c'est ultra rapide.

      Voilà j'en dirais pas plus, il y a tellement à dire, mais je pense avoir dit l'essentiel par rapport à ta demande.

      Commentaire


      • #4
        Merci pour vos réponses

        @fred Nous partageons le même pdv haha. J'aime le code propre et bien documenté, si possible qui respecte une docstring.
        Pour les pattern, je trouve pas toujours évident de gérer ça, du coup pour ma part, je ne fais pas vraiment attention.
        Dans mon cas, je suis obligé de coder par contrat et je trouve ça top

        Commentaire


        • #5
          Comme mes camarades, je vais te donner mon point de vue sur le sujet. Pour placer mon intérêt dans la programmation, je dirais que je programme depuis environ mes 11 ans et que j'ai actuellement 42 ans.

          J'ai débuté avec Basic comme tout le monde puis j'ai appris Pascal,etc... que ce soit dans un but scolaire ou alors un but personnel.

          Au début de l'informatique na pas savoir programmer était un réel handicap pour l'utilisation des machines en place. Aujourd'hui, l'OS windows a fait son petit bonhomme de chemin et est devenu au fil du temps un jouet entre les mains des gens. Un bébé saurait faire de l'informatique ^^

          Même le grand Linux a fait du chemin et commence à se diviser en son sein entre les détracteurs de la commande et que la commande et ceux qui souhaiteraient plus d'interactivité à la Windows.

          J'ai débuté le langage orienté objet, il y a plus de 11 ans avec PHP, puis j'ai appris HTML et CSS, JS et C# puis C++ et, finalement Python.

          J'ai appris aussi Bash et Linux afin d'automatiser mes commandes. Plus par facilités que par choix.

          Ensuite, je me suis intéressé aux failles de ces programmes et de ses codes, si certains me paraissaient fiables d'autres pouvaient être totalement détournés et nécessairement j'ai cherché sa cause.

          De ce fait, je me suis donc lancé dans la programmation défensive afin de pallier ses mauvaises manies qui pouvaient corrompre à la longue l'intégrité des données.

          Puis je me suis rendu compte que ce type de programmation avait des qualités certaines dans certaines situations ou certains types de langages, mais des inconvénients pour d'autres.

          J'ai donc adapté mon style suivant la situation, PHP a besoin d'une programmation défensive, mais par exemple Python se suffit à la programmation par contrat.

          Sans entrer dans les détails, ni paraphraser Fred, je dirais que pour les raisons qu'il a indiqué, j'ai utilisé sciemment la programmation par contrat mais que je n'ai pas délaissé la programmation défensive qui a sa place dans certains types de situation.

          Par contre, je suis pour commenter les codes, c'est plus claire et explicite lorsque l'on a plusieurs feuilles et surtout lignes à rechercher.

          J'espère avoir été explicite, car si je devais développer ma réponse ferait 2 pages voire plus.

          Voilà pour cette introduction dans mon univers et dans ma tête ainsi que mon point de vue sur ta demande.

          A bientôt.
          Dernière modification par DreAmuS, 14 janvier 2016, 12h36.

          Commentaire

          Chargement...
          X