Loose & Tight Coupling: Why Code is Hard to Change

Поделиться
HTML-код
  • Опубликовано: 27 дек 2024

Комментарии • 18

  • @KamalMettananda
    @KamalMettananda 9 месяцев назад +1

    One of the best videos to get a clear understanding about the big picture. Thanks a lot.

  • @bhbr-xb6po
    @bhbr-xb6po 3 месяца назад

    5:00 (line 13) wouldn't "return x instanceof String" work as well?

  • @tanzimchowdhury320
    @tanzimchowdhury320 Год назад +1

    Thank you Bran for your high-quality content :) Please keep making videos like these.

  • @santhoshninjakhan7880
    @santhoshninjakhan7880 9 месяцев назад

    This channel is gold mine for Developers thank you soo much! Please make more videos thanks once again for your valuable lessons to us

  • @riquesse3185
    @riquesse3185 5 месяцев назад

    I'm a bit confused about why there is loose coupling between A and B in the example at 2:33. I thought there was no coupling between A and B since they are not dependent on each other. By the way, great video!

  • @ericsiddiq7634
    @ericsiddiq7634 Год назад +1

    Excellent explanation ❤

  • @andreyshedko6155
    @andreyshedko6155 2 года назад +2

    Would be nice to see similar videos about SOLID principles

  • @kozas0
    @kozas0 2 года назад

    I like how you mention "both sides of the story" at the end, and that if you add too many interfaces and decouple too much there might be consequences. I have seen that on a codebase with DI + interfaces for pretty much everything + multiple impementations, where the code was nearly untracable unless you used a debugger. DI is a great decoupling tool especially when you have a framework that supports it, like Spring or Angular, so you don't have to pass along objects all around your object graph just to feed them somewhere.
    Also worth mentioning imo is that in stable codebases (or even more in "legacy" ones) the general consensus is that you want to move as little parts as possible, and that kind of colludes with the idea to refactor a codebase to loose its coupling.

    • @branvandermeer
      @branvandermeer  Год назад +2

      Adding too many interfaces and decoupling too much will usually lead to more complexity indeed. It's always a checks and balances game!

  • @vinlandish555
    @vinlandish555 7 месяцев назад

    This was very useful!

  • @oleksii_gozha
    @oleksii_gozha 2 года назад +1

    Thank you for high quality content.
    Could you share some thoughts on freelancing in very specific language ABAP for SAP. It is used in 90% of S&P firms and external people are quiet exensive. So I thought is would be a good idea to become also an external self employed Abap developer. On my Region every company is using German on documentation and on code itself (methods name for example ), so without German no other cheaper outsourced company can not provide service to them.
    What do you think about such unpopular languages (Abap , cobol) where there is some demand but there are almost no people ?
    O like your content

    • @branvandermeer
      @branvandermeer  Год назад +1

      I'm not familiar with these languages, and such I can't really speak of it. You kind of answered your own question though: betting on specialising in only a very obscure language probably is a more risky career strategy. But if you develop broadly-applicable skills, that might lower the risk of not being able to find a job in the future.

  • @justgame5508
    @justgame5508 4 месяца назад

    There is a trade off though, make code bases too loosely coupled and you lose cohesion

  • @cidhighwind8590
    @cidhighwind8590 Год назад

    Great video. And cool shirt!

  • @Aalii6
    @Aalii6 4 месяца назад

    👍👍

  • @edgeeffect
    @edgeeffect Год назад

    Watching this on my phone with my old man's eyes.... the code examples are unreadable... a big chunky font or a zoomed in screen would be better... thanks.

    • @branvandermeer
      @branvandermeer  Год назад

      Sorry! Unfortunately youtube does not allow changing video after the fact, so all I can recommend is reading the code on the gist, or re-watching on a desktop resolution.
      gist.github.com/branneman/584f31eb298751ca65b14220e7bb55ce