MaÃŪtrisez les principes SOLID : C’est la seule façon d’ÃĐcrire du code propre !

āđāļŠāļĢāđŒ
āļāļąāļ‡
  • āđ€āļœāļĒāđāļžāļĢāđˆāđ€āļĄāļ·āđˆāļ­ 29 āļĄāļī.āļĒ. 2024
  • ðŸ‘ĻðŸŧ‍ðŸ’ŧ DÃĐmarrer votre carriÃĻre de DÃĐveloppeur Professionnel :
    www.angularsenior.fr/apply
    ***
    Aujourd'hui, on va transformer votre maniÃĻre de coder avec Angular en utilisant les 5 principes SOLID.
    Je vais vous montrer comment ces cinq principes peuvent rendre votre code plus propre, plus efficace, et vous faire gagner un temps fou. Il vous faut les 5 car ils sont tous reliÃĐs et marchent entre eux pour maximiser le rÃĐsultat !
    Bon visionnage,
    Simon.
    ***
    00:00 : Introduction
    03:35 : Single Responsability Principle (SRP)
    09:42 : Open-Closed Principle (OCP)
    13:29 : Liskov Substitution Principle (LSP)
    15:27 : Interface Segregation Principle (ISP)
    17:50 : Dependency Inversion Principle (DIP)
    20:59 : RÃĐsumÃĐ sur feuille A4

āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ • 93

  • @DavidRENAUD-ss5yj
    @DavidRENAUD-ss5yj 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Merci Simon pour ces explications claires (comme d'hab !)

  • @gippel1
    @gippel1 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Merci beaucoup, super bien expliquÃĐ avec des exemples assez concret et des petits tips en plus (Le vert sur les PR) !

  • @aliplaysgtr
    @aliplaysgtr 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Excellent comme d'habitude, merci!

  • @BricBracASMR
    @BricBracASMR 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Merci beaucoup pour cette vidÃĐo ! Tu expliques super bien !

  • @HyLsT16
    @HyLsT16 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Explications trÃĻs utiles et vraiment accessibles. Merci ! Tu qs vraiment une trÃĻs bonne pÃĐdagogie !

  • @JeremyGasperowicz
    @JeremyGasperowicz 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Toujours au top 👍

  • @jonathantrilles8613
    @jonathantrilles8613 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

    TrÃĻs instructif, merci!

  • @maxenceyrowah4261
    @maxenceyrowah4261 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Vous m'avez manquez coach j'espere que vous allez super, bon retour parmi nous

  • @guilhemjoly
    @guilhemjoly 5 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

    Excellente vidÃĐo, merci beaucoup pour tes explications.

    • @codeursenior
      @codeursenior  5 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Merci à toi pour le retour. Bon code !

  • @is2m913
    @is2m913 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Merci pour cette explication 👍

  • @AkramButNot
    @AkramButNot 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +2

    TrÃĻs bonne vidÃĐo, en complÃĐment et/ou en ajout, je pense qu'une explication concernant les architectures n-Tiers et les diffÃĐrentes couches qu'on retrouve gÃĐnÃĐralement dans serait gÃĐniale. MÊme, si il y'a d'autres architectures possibles, le n-Tiers reste une trÃĻs bonne base et une bonne application des principes SOLID.

  • @Sql37
    @Sql37 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Tellement enrichissant !!

    • @codeursenior
      @codeursenior  8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Content que vous ayez pu vous enrichir ! 💰 j’espÃĻre que c’est lÃĐgal !

  • @frankdearr2772
    @frankdearr2772 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    excellent sujet, merci 👍

  • @8area8
    @8area8 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +2

    Super le rappel SOLID trÃĻs bien expliquÃĐ. :)
    Mais il ne faut pas oublier qu'une architecture parfaite est une archi qui rÃĐpond aux problÃĐmatiques et à la complexitÃĐ d'une app à un instant T. Un surdÃĐcoupage pour un composant qui fait 100 lignes de code, parce qu'on veut qu'il soit SOLID, c'est souvent une aberration qui crÃĐÃĐ plus de mal que de bien. Il faut partir du principe que le refactoring fait partie intÃĐgrante de l'ÃĐvolution du code.
    Ainsi, on ÃĐvite les middleman inutiles, les interfaces en trop, bref on reste vraiment YAGNI et KISS (qui sont 2 acronymes qui imho peuvent s'utiliser à toutes les sauces. :) )
    Une archi, c'est un peu comme un organisme vivant en fait.

  • @sebastieng.9575
    @sebastieng.9575 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Merci pour ces explications concises et de qualitÃĐ.

    • @codeursenior
      @codeursenior  8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Merci à toi pour ton retour !
      Bon code,
      Simon.

  • @ThearsenikfromGmail
    @ThearsenikfromGmail 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Super tips!

  • @maxwebstudio
    @maxwebstudio 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Vraiment top ! Merci

    • @codeursenior
      @codeursenior  8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Merci à toi pour le retour, bon code !

  • @Tidusane
    @Tidusane 4 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Super intÃĐressant merci pour ta vidÃĐo

    • @codeursenior
      @codeursenior  4 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Avec plaisir, bon code à vous.
      Simon.

  • @tamantaman
    @tamantaman 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Excellent :)

  • @LordGerbito
    @LordGerbito 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +5

    Petite prÃĐcision pour OCP, l'acronyme prÊte a confusion: Open-closed principle, pour bien le comprendre, il faut le voir sous cette angle : open for extension, but closed for modification. En claire: On peut ÃĐtendre une classe mais pas la modifier. Un exemple de ce principe est le design paterne des Observer chez Rx, Lior Chamla explique trÃĻs bien le OCP dans sa sÃĐrie sur Rxjs

    • @kremelandrykossonou1812
      @kremelandrykossonou1812 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      En programmation orientÃĐe objet, le principe ouvert/fermÃĐ (open/closed principle) affirme qu'une classe doit Être à la fois ouverte (à l'extension) et fermÃĐe (à la modification). Il correspond au ÂŦ O Âŧ de l'acronyme SOLID. ÂŦ Ouverte Âŧ signifie qu'elle a la capacitÃĐ d'Être ÃĐtendue. ÂŦ FermÃĐe Âŧ signifie qu'elle ne peut Être modifiÃĐe que par extension, sans modification de son code source.

    • @didierochsenbein5818
      @didierochsenbein5818 2 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      L'exemple utilisÃĐ pour l'OCP me parait bancal, car outre le volume de code final dÃĐmultipliÃĐ (donc, plus il y a de ligne, moins c'est maintenable... à contrario du KISS), ca n'ÃĐlude pas qu'un moment donnÃĐ il faut faire un dÃĐcoupage par type pour utiliser la bonne stratÃĐgie, là oÃđ il fallait dÃĐterminer le bon calcul: on ne fait que dÃĐplacer le pb...

  • @TheGetbackers007
    @TheGetbackers007 7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Hello superbe vidÃĐo ! Bravo pour ton travail il apporte de la VA pour beaucoup je pense ! Je crois comprendre certains des principes grÃĒce à toi et je t’avoue que j’ai du mal à comprendre comment organiser un projet en terme de dossier et oÃđ placer les diffÃĐrents fichiers. Ce serait super d’avoir une vidÃĐo là dessus ou bien un simple lien vers un screenshot me suffirait amplement ! Penses tu pouvoir rÃĐaliser mon souhait ? A bientÃīt !

  • @FredericPerat
    @FredericPerat 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Nice!!

  • @jean-baptistebonaparte2200
    @jean-baptistebonaparte2200 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Super merci pour les explications, pourrais tu reprendre ces principes avec des petites vidoes dÃĐdiÃĐes et bien expliquÃĐes oÃđ on crÃĐe un petit projet en explicant ces principes ?

  • @Khalid15325
    @Khalid15325 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +11

    C’est Madame Mac Michu, ta prof d’anglais au collÃĻge. Attention, a-t-on dit dr[i]ven and not dr[aÃŊ]ven 😉. Merci pour cette piqÃŧre de rappel !.

    • @louqmaneinoussa6649
      @louqmaneinoussa6649 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +2

      Madame Mac Michu😂
      Merci de suivre vos ÃĐlÃĻves

    • @Khalid15325
      @Khalid15325 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@louqmaneinoussa6649 Madame Mac Michiouuu 😉

    • @louqmaneinoussa6649
      @louqmaneinoussa6649 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      @@Khalid15325 autant pour moi 🌚

    • @Khalid15325
      @Khalid15325 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@louqmaneinoussa6649 No problem 😉

    • @saint14titan56
      @saint14titan56 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Je vous aime madame Mac Michou, vous Êtes trop chou 😅😅

  • @mehdib8612
    @mehdib8612 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Trop bien

  • @dev-rachid
    @dev-rachid 6 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    merci👍

  • @patrickmooc5817
    @patrickmooc5817 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +4

    Bonjour et merci pour ces explications ! Est-il possible de nous mettre à disposition la feuille de synthÃĻse finale ? Merci d'avance !

    • @Shaffefr
      @Shaffefr 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      C'est exactement ce que j'allais demander, mÊme en 1080p la feuille A4 n'est pas trÃĻs lisible, un petit PDF ça serait parfait !
      Merci pour la vidÃĐo !

  • @AA-nu7ht
    @AA-nu7ht 6 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    TrÃĻs bonne vidÃĐo, est ce que quelqu'un sait si la vidÃĐo tutoriel sur Angular est construite suivant les principes SOLID?

  • @franssu2229
    @franssu2229 2 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Petite remarque vis à vis de la solution que tu proposes pour la violation de Liskov, à la base si on voulait que carrÃĐ hÃĐrite de rectangle, c'ÃĐtait pour partager une partie du code avec rectangle, faire hÃĐriter les deux de shape corrige certe la violation de liskov mais on perd ce qu'on cherchait à faire au passage, qui est faisable en partie si on dÃĐfinit la relation entre des interface en lecture seule de carrÃĐ et de rectangle (càd des interfaces qui n'exposent que les get pour width / height)

    • @codeursenior
      @codeursenior  āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Bonjour, merci pour votre retour. Ce n'est pas possible de le faire au niveau de Shape ?

    • @franssu2229
      @franssu2229 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@codeursenior je ne pense pas car si, avec square hÃĐritant de rect, on avait une hypothÃĐtique fonction area(rect) = rect.width * rect.height, on pouvait, comme attendu, utiliser area pour square, mais si (aprÃĻs la refacto introduisant shape), on rÃĐÃĐcrit area pour qu'elle prenne shape en argument on se retrouve avec un rÃĐsultat erronÃĐ pour area(circle) par exemple, et si on ne rÃĐcrit pas area et qu'elle garde rect en argument, on ne peut plus l'utiliser pour square (qui ÃĐtait le genre de choses qu'on souhaitait pouvoir faire en faisant hÃĐriter square de rectangle au dÃĐpart)

  • @pyroxis5269
    @pyroxis5269 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +2

    C'est trÃĻs intÃĐressant, mais j'ai un peu l'impression que c'est 50 nuances de "il faut fragmenter son code" avec plus ou moins toujours le mÊme argument : "comme ça quand ca pÃĻte, il n'y a qu'un petit fragment qui pÃĻte". Alors c'est pas nul, je sais que je fragmente moi mÊme pas assez mes codes, juste que c'est plus un seul grand principes avec 5 cas gÃĐnÃĐraux typiques ou ce principes s'applique plutÃīt que 5 grands principes.

    • @codeursenior
      @codeursenior  8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      D’un point de vue novice, cela peut ressembler à ca. L’expÃĐrience dans le domaine permet d’approfondir sa rÃĐflexion la dessus :
      Les principes SOLID sont bien plus qu’une simple fragmentation du code. Ils fournissent un cadre pour concevoir des logiciels robustes, maintenables et ÃĐvolutifs. Chaque principe a une intention et une justification spÃĐcifiques. Expliquons-les un par un pour illustrer pourquoi ils ne se limitent pas à “fragmenter son code”:
      1. S - Single Responsibility Principle (SRP):
      â€Ē Intention: Une classe devrait avoir une seule raison de changer.
      â€Ē Justification: En veillant à ce que chaque classe ait une seule responsabilitÃĐ, nous facilitons la maintenance et la comprÃĐhension du code. Cela ne signifie pas simplement diviser le code, mais s’assurer que chaque division a un objectif clair.
      2. O - Open/Closed Principle (OCP):
      â€Ē Intention: Les logiciels doivent Être ouverts à l’extension, mais fermÃĐs à la modification.
      â€Ē Justification: Ce principe nous encourage à penser à l’extensibilitÃĐ. Au lieu de modifier constamment le code existant (ce qui peut introduire des erreurs), nous devrions pouvoir ÃĐtendre les comportements existants de maniÃĻre modulaire.
      3. L - Liskov Substitution Principle (LSP):
      â€Ē Intention: Les objets d’une classe dÃĐrivÃĐe doivent pouvoir remplacer ceux d’une classe de base sans affecter la correction du programme.
      â€Ē Justification: Il ne s’agit pas seulement de fragmentation, mais de s’assurer que les sous-classes maintiennent la vÃĐritable essence ou le contrat de la classe de base.
      4. I - Interface Segregation Principle (ISP):
      â€Ē Intention: Les clients ne devraient pas Être forcÃĐs de dÃĐpendre des interfaces qu’ils n’utilisent pas.
      â€Ē Justification: Cela ÃĐvite d’avoir des interfaces “monolithiques” ou “tout-en-un” qui peuvent Être encombrantes ou non intuitives pour les clients. Cela favorise la clartÃĐ et la pertinence des interfaces pour chaque client.
      5. D - Dependency Inversion Principle (DIP):
      â€Ē Intention: Les modules de haut niveau ne devraient pas dÃĐpendre des modules de bas niveau. Les deux devraient dÃĐpendre des abstractions.
      â€Ē Justification: Ce principe favorise l’inversion du contrÃīle et la dÃĐpendance sur des abstractions, non sur des dÃĐtails concrets. Il guide la structure du code pour qu’elle soit moins fragile face aux changements et plus modulaire.
      En somme, les principes SOLID ne sont pas simplement des rÃĻgles pour diviser le code. Ils reprÃĐsentent une philosophie de conception logicielle qui encourage la cohÃĐsion, la dÃĐcouplage, et la modularitÃĐ, tout en mettant l’accent sur la crÃĐation d’un code maintenable et ÃĐvolutif.

  • @herinandrianinaeloicharlyr1278
    @herinandrianinaeloicharlyr1278 7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Merci

    • @codeursenior
      @codeursenior  7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Avec plaisir, bon code. Simon.

  • @Razkazar
    @Razkazar 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Bonjour,
    Merci pour les explications !
    J'ai juste un problÃĻme pour la comprÃĐhension par l'exemple que tu as fait, car je trouve que c'est semblable a OCP.

  • @kremelandrykossonou1812
    @kremelandrykossonou1812 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    En programmation orientÃĐe objet, le principe ouvert/fermÃĐ (open/closed principle) affirme qu'une classe doit Être à la fois ouverte (à l'extension) et fermÃĐe (à la modification). Il correspond au ÂŦ O Âŧ de l'acronyme SOLID. ÂŦ Ouverte Âŧ signifie qu'elle a la capacitÃĐ d'Être ÃĐtendue. ÂŦ FermÃĐe Âŧ signifie qu'elle ne peut Être modifiÃĐe que par extension, sans modification de son code source.

  • @poischiche2933
    @poischiche2933 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Comment appliquer les principes SOLID en front endroit, sur React par exemple ?

  • @pH7Programming
    @pH7Programming 7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    EntiÃĻrement d'accord (mÊme si SOLID ne s'applique pas nÃĐcessairement à tous les stacks / frameworks).

    • @codeursenior
      @codeursenior  7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Hello, merci pour votre commentaire. Avez vous des exemples de stack ou de frameworks sur lesquelles les principes SOLID ne s’appliquent pas ? Bon code, Simon.

  • @yasno4840
    @yasno4840 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Top merci

    • @codeursenior
      @codeursenior  9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      👍

  • @abdesselamkhadraoui8840
    @abdesselamkhadraoui8840 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    meric simon.

  • @mattcornic804
    @mattcornic804 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Bonjour Simon ! Que penses-tu du livre "Clean Code" de Robert C. Martin ?

    • @xtunasil0
      @xtunasil0 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Ses conseils sont directement dans la ligne de clean code

    • @wassimmehanna4402
      @wassimmehanna4402 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Oncle Bob aka Robert C. Martin est une rÃĐfÃĐrence en la matiÃĻre. Ce livre est à lire à plusieurs reprises dans ta carriÃĻre.

  • @elcarryboo9344
    @elcarryboo9344 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Bonjour,
    Aurais-tu des conseils plus spÃĐcifiques dans le design de script ? Il me semble que cette vidÃĐo (qualitative) serve surtout du langage de programmation que du script.
    En te remerciant,

    • @codeursenior
      @codeursenior  8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Les principes SOLID s’applique principalement pour la programmation orientÃĐ objet. J’imagine que par script vous entendez la programmation procÃĐdurale, ou ces principes ne s’appliquent pas à la base.

    • @elcarryboo9344
      @elcarryboo9344 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@codeursenior Oui tout à fait. Ce sur quoi je travaille (c'est pas mon domaine mais j'en ai besoin) tient de quelque chose plus procÃĐdural en effet (visual basic, donc orientÃĐ objet aussi cela dit). Du coup, dans cette veine, auriez-vous quelques bonnes pratiques du mÊme genre ? Je n'en trouve pas...

    • @codeursenior
      @codeursenior  7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@elcarryboo9344 Hello, non rien de pertinent à dire ! Vous trouverez mieux ailleurs sur le procÃĐdural. Bon code, Simon.

  • @hippiestafarii
    @hippiestafarii 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Peux tu partager tes notes ?

  • @moneyfr
    @moneyfr 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +4

    Tu laisses pas assez longtemps le code à l'image

    • @hydrogen6110
      @hydrogen6110 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      la barre espace c'est pas mal mdr

    • @moneyfr
      @moneyfr 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@hydrogen6110 j'ai plus les explications aprÃĻs

    • @yanntrad2304
      @yanntrad2304 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Sur pause. Tu lis et assimile le code et rÃĐÃĐcoute l'explication

  • @ascaroth2607
    @ascaroth2607 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Augmentation positive de 0.5 ðŸ˜Ū

  • @kremelandrykossonou1812
    @kremelandrykossonou1812 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    L'inversion de dÃĐpendance permet à une couche infÃĐrieure d'envoyer des messages à la couche supÃĐrieure tout en respectant le principe de sÃĐgrÃĐgation d'interface

    • @codeursenior
      @codeursenior  8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Voici la rÃĐponse de ChatGPT, il a ÃĐtÃĐ meilleur que moi ce qui est rare et surprenant :
      "
      Cette affirmation est en partie vraie. L'inversion de dÃĐpendance peut effectivement permettre à une couche infÃĐrieure de communiquer avec une couche supÃĐrieure grÃĒce aux abstractions, mais ce n'est pas vraiment le but principal du DIP. Le DIP vise principalement à dÃĐcoupler les modules pour la flexibilitÃĐ et la maintenance. Le fait que la couche infÃĐrieure "envoie des messages" à la couche supÃĐrieure est plutÃīt une consÃĐquence de cette dÃĐpendance inversÃĐe, mais cela peut Être rÃĐalisÃĐ de diffÃĐrentes maniÃĻres et pas seulement par l'inversion de dÃĐpendance.
      Quant au respect du principe de sÃĐgrÃĐgation d'interface, il est indÃĐpendant du DIP mais peut Être utilisÃĐ conjointement pour s'assurer que les interfaces (abstractions) utilisÃĐes dans l'inversion de dÃĐpendance sont propres et spÃĐcifiques à leurs responsabilitÃĐs.
      "

  • @mehdib8612
    @mehdib8612 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Qu'est ce c'est principe fonctionne avec react js ?!

    • @LordGerbito
      @LordGerbito 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      Ça fonctionne avec tous les langages et framework OOP, dont react fait parti

    • @mehdib8612
      @mehdib8612 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@LordGerbito merci de ta rÃĐponse.

  • @Seilesoso
    @Seilesoso 6 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    DDD=domain driven design 😅

  • @Roland-cy7ll
    @Roland-cy7ll 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

    La Base c est de faire une conception avant de coder. Meme si elle est legere elle vous permettra d avoir une glibale du projet de poser les bases. Et ensuite n empeche de revoir cette conception au cours du codage.

    • @Ibadez38
      @Ibadez38 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Je suppose que vous vouliez dire “une vision globale du projet avant de poser les bases”. Je suis intÃĐressÃĐ par ce type de pratique, qui consiste à concevoir le plan avant de crÃĐer. Je m’ÃĐtais renseignÃĐ sur les diagrammes de classes avec l’UML. Mais je me demandais s’il existe des façons logiques, thÃĐoriques, des questions à poser pour orienter notre conception dans le bon sens. Existe-t-il des ouvrages ou des cours pour apprendre à faire une conception efficace ?

    • @Roland-cy7ll
      @Roland-cy7ll 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Oui, realiser un dossier de conception à l ancienne, biensure c est inutile pour les petits projet. Bien que...
      UML peut aider, j ai lu UML 2 en action tres bon bouquin.
      Un autre nouquin qui mais qu il faut avoir lu car il vous donne la demarche c est UML2 modeliser une application web.
      Il doit exister des bouquins plus recent, mais ca fait maintenant quelques annÃĐes que je ne fais plus de projet au forfait...

  • @sauldetarse2339
    @sauldetarse2339 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

    pour un dev, ne pas oublier le BSP, non pas le board support package (trÃĻs utile), mais plus genetalement il s'agit du bon sens paysan, trop souvent oubliÃĐ.

    • @sauldetarse2339
      @sauldetarse2339 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      *generalement

  • @geosesame6162
    @geosesame6162 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Et le YOP ? TH-cam Only Principle : quand on parle de code, on ne montre que du code

    • @adriencbl
      @adriencbl 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Et l'UML ?

  • @juliennapoli
    @juliennapoli 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Quand ton propre code commence à te faire chier, il est temps de faire marche arriÃĻre.

  • @IBelieveInCode
    @IBelieveInCode 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

    "C’est la seule façon d’ÃĐcrire du code propre !"
    Ah bon. Donc il n'existait pas de code propre avant l'invention de SOLID ?

    • @maldoror4035
      @maldoror4035 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      C'est comme Bruno Latour qui disait qu'un pharaon ne pouvait pas Être mort de la tuberculose car Koch n'a dÃĐcouvert le bacille qu'au 19ÃĻme siÃĻcle.
      On respectait ces principes avant qu'ils ne soient formalisÃĐs et nommÃĐs. Ou on s'exposait à des problÃĻmes.

    • @yanntrad2304
      @yanntrad2304 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      Quand on voit tout le code dÃĐgueu à reprendre... apparemment meme aujourd'hui c'est pas souvent respectÃĐ...

  • @happycreeper6923
    @happycreeper6923 7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Les explications ne sont pas claires dsl. On comprend dans les grandes lignes mais pas suffisant pour mettre en pratique

    • @codeursenior
      @codeursenior  7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      Hello, merci pour ton retour. Cette vidÃĐo se veut gÃĐnÃĐraliste, chaque point de SOLID mÃĐriterait une vidÃĐo complÃĻte et plus dÃĐtaillÃĐ sur le sujet. Je me note ça !
      Bon code,
      Simon.

  • @renobodyrenobody
    @renobodyrenobody 9 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Tu as un truc dans les oreilles.

  • @drafura
    @drafura 8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Trop fort ton principe de coder des donnÃĐes en dur et d'essayer d'amÃĐliorer ta merde aprÃĻs coup

    • @codeursenior
      @codeursenior  8 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      AmÃĐliorer la merde est mon mÃĐtier. Qu’est ce que vous essayez de nous apporter sinon ?