Let's Review Your Backend Code | SHALL WE???

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ต.ค. 2024
  • In this video I code review code sent by the Amigoscode community.
    #amigoscode #programming #codereviews
    Don't Forget to
    ===========================================
    💯 Subscribe to Amigoscode - bit.ly/2HpF5V8
    💯 Courses Available for free here - amigoscode.com...
    💯 Join Private Facebook Group and Discord - amigoscode.com...
    ⭐ Table Of Contents ⭐
    ===========================================
    🙊 Here are the goods for all my videos video 🙊
    ► Recommended Books
    ===========================================
    Clean Code - amzn.to/2UGDPlX
    HTTP: The Definitive Guide - amzn.to/2JDVi8s
    Clean Architecture - amzn.to/2xOBNXW
    ► Computer and Monitor
    ===========================================
    New Apple MacBook Pro - amzn.to/3464Mmn
    Dell 27 INCH Ultrasharp U2719D Monitor - amzn.to/2xM3nW1
    Double Arm Stand Desk Mount - amzn.to/3aYKKfs
    USB C Hub Multiport Adapter - amzn.to/2Jz7NlL
    ► Camera Gear
    =============================================
    Sony ILCE7M3B Full Frame Mirrorless Camera - amzn.to/346QIJn
    Sigma 16 mm F1.4 DC DN - amzn.to/2wbic3Q
    Sigma 33B965 30 mm F1.4 DC DC - amzn.to/39G37Fd
    ► IDE & Tools I use for coding 💻 🎒
    ===========================================
    ITerm
    VsCode
    GoLand
    IntelliJ Ultimate
    Sublime
    P.S
    ===========================================
    💯 Don't forget to subscribe | bit.ly/2HpF5V8
    💯 Join Private Facebook Group and Discord - amigoscode.com...
    💯 Follow me on Instagram | bit.ly/2TSkA9w
    ❤️ Thanks for watching

ความคิดเห็น • 460

  • @1309CV
    @1309CV 2 ปีที่แล้ว +580

    This style of content is actually really great. You should definitely do more of this. It's incredibly educational.

    • @infinteuniverse
      @infinteuniverse 2 ปีที่แล้ว +3

      when you're on the job. Your team is expected to give you regular code reviews every time you want to merge changes.

    • @dwikikurniawan9878
      @dwikikurniawan9878 2 ปีที่แล้ว +1

      yes, another video like this, please! 😉

    • @KawoskiKoh
      @KawoskiKoh ปีที่แล้ว

      agree especially when you write code similar to these you can see where you improve

    • @Kotik112
      @Kotik112 ปีที่แล้ว

      Agreed. I'm looking for my first job as a spring boot developer so these sort of code reviews are "gold".

    • @phil86_
      @phil86_ ปีที่แล้ว

      Absolutely agree.
      Getting code reviews from Senior devs is crucial and it’s not so obvious unfortunately.
      This is gold actually.

  • @amigoscode
    @amigoscode  2 ปีที่แล้ว

    DON'T FORGET TO
    ➡️ Join the community here: amigoscode.com/p/join-community
    ➡️ Checkout best premium programming courses: amigoscode.com/courses

  • @dc4539
    @dc4539 2 ปีที่แล้ว +82

    "Add some tests, it's not difficult", as a support engineer I wish it was more difficult. So many engineers write crap tests that validates their work. It's like awarding yourself a medal

    • @lion816
      @lion816 2 ปีที่แล้ว +10

      i feel this. test driven development is something everybody should look into imo. i learned it once and will never write code without it. improves quality of tests and production code

    • @matthewchunk3689
      @matthewchunk3689 2 ปีที่แล้ว +1

      @@lion816 Just learning how to write fuzz tests. Are there any good resources?

    • @lion816
      @lion816 2 ปีที่แล้ว

      @@matthewchunk3689 we dont really use fuzz testing at work atm, im not so familiar with it sorry :(

    • @ProxyDE
      @ProxyDE 2 ปีที่แล้ว

      hey, i did a great job and my tests prove it. i deserved that medal

    • @heliophobicdude
      @heliophobicdude 2 ปีที่แล้ว

      @D C what do support engineers do? Thanks!

  • @N7Tonik
    @N7Tonik 2 ปีที่แล้ว +46

    cool video idea! but it would be much more helpful if you would explain shortly why you would do things different (and not just what).
    So a few questions came up for me:
    1. why to use "BigDecimal" instead of "Double" for prices
    2. why you think that "implements Serializable" can be removed for the dto class
    3. which response code is returned if we throw an exception in a controller, 500?
    4. why to additionally add the "@Query" annotation to the method declarations of the repository interface, instead of relying on the method name

    • @RaviYasas
      @RaviYasas 2 ปีที่แล้ว +1

      I have the same question "why do you think that "implements Serializable" can be removed for the dto class"?

    • @stevenr3537
      @stevenr3537 2 ปีที่แล้ว +6

      I'd actually suggest using the jpa function is better than query, unless you actually have something custom to do. Computer is best at generating these basic queries. The big thing people forget is to ensure their queries hit indexes they have on their table.

    • @codebitcookie8053
      @codebitcookie8053 2 ปีที่แล้ว +3

      Computers can sometimes miscalculate floats with rounding errors. See the video about Floats from Computerphile. Since Double is just a bigger float. You should rather use Integers for dollars and cents so 1 dollar = 100 cents, 1.25 dollar = 125, etc.

    • @stevenr3537
      @stevenr3537 2 ปีที่แล้ว +2

      You should use Big decimal for money amounts, more precision again then Integer

    • @climatechangedoesntbargain9140
      @climatechangedoesntbargain9140 2 ปีที่แล้ว

      @@codebitcookie8053 what do you do with 0.9 cents? -> decimals

  • @pmoieni
    @pmoieni 2 ปีที่แล้ว +58

    If anyone asked me what's the difference between junior and senior developer I will show them this video

  • @felipedossantos7246
    @felipedossantos7246 2 ปีที่แล้ว +13

    I know this first code. It was written in Semana DevSuperior in Brazil. The instructor is quite nice, a really smart guy. But it's really awesome when we can see a feedback like this from Mama Samba.

  • @downfall991
    @downfall991 2 ปีที่แล้ว +31

    I liked this a lot! Thanks!
    Would be nice if you could do these types of content from time to time and also explain like how and why it could be better implemented when you don't agree with some of the stuff you review.
    Or even make a video for best practices, programming principles, designs like package by feature vs package by layer and etc.

  • @kristiyangerasimov6708
    @kristiyangerasimov6708 2 ปีที่แล้ว +14

    Dear Nelson, thank you for the great content. Please do more of these code-review-style videos. As a beginner it is one of the best ways to see different projects through someone's more experienced eyes. Truly invaluable!

  • @DevMadeEasy
    @DevMadeEasy 2 ปีที่แล้ว +3

    Hey amigos code I just loved the "old lady" you used on your Thumbnail, she's in a lot of my own videos.
    About your video?
    A great Job as always.
    Congrants!

  • @williamokano
    @williamokano 2 ปีที่แล้ว +5

    Bro, simply amazing channel. That's awesome that you're doing this public reviews for the people and pointing the improvements. The community needs more people like you.

  • @xanxusvaria8492
    @xanxusvaria8492 2 ปีที่แล้ว +3

    we aleykum Selam, a Muslim doing code Videos, damn I am happy to see a brother sharing his knowledge with The World!
    We need more people as amazing and nice as you representing there religion in such a good manner!
    May Allah bless your Heart jazakallahu khairan!

  • @ownagejuice1394
    @ownagejuice1394 2 ปีที่แล้ว +18

    i enjoyed this. you're one of the few YT instructors I respect

  • @lucasfrancisco1502
    @lucasfrancisco1502 2 ปีที่แล้ว +1

    I'm from Brazil and your "Olá, tudo bem?" was perfect. Congrats! You have a little of brazilian in your life.

  • @michelchaghoury870
    @michelchaghoury870 2 ปีที่แล้ว +59

    hello nelson great content, can you show us how to test a secured endpoint in spring boot and how to user swagger with spring security

  • @vrvr82
    @vrvr82 2 ปีที่แล้ว +31

    I strongly disagree on 2 points: 1) There is no bad thing about using Instant, it's part of Java 8 Date/Time API as LocalDate. 2) The bad practice in repositories is actually to write a @Query when it can work automagically thanks to the method name (I really don't understand why would that be a wrong practice tbh)

    • @sinamarki
      @sinamarki 2 ปีที่แล้ว +12

      Im agree with you. I use @Query only for complex query or optimisation and instant is not a bad practice

    • @tyvain
      @tyvain 2 ปีที่แล้ว +3

      @@sinamarki yes, use the power of jpa without typing the query most of the time is great / easy / readable

    • @xxcsokixx
      @xxcsokixx 2 ปีที่แล้ว +3

      Yes please. Dont write unnecessary queries...

    • @DavisTibbz
      @DavisTibbz 2 ปีที่แล้ว +2

      Yes

    • @jorgerst
      @jorgerst ปีที่แล้ว +1

      This. Thanks for also pointing that fact about the unnecessary @Query annotation.

  • @user-stevegjffuhdry
    @user-stevegjffuhdry 2 ปีที่แล้ว +10

    I usually skip most of your videos, but this one was an eye catcher. You should keep on doing this type of format. Another idea to consider, you do an open source project with fans and do code review/coding sessions with them.

  • @javablackstack
    @javablackstack 2 ปีที่แล้ว +12

    I learn english by watching your content, thanks for your efforts! From Russia with love ❤

  • @dabbopabblo
    @dabbopabblo 2 ปีที่แล้ว

    Your sense of fashion is amazing dude, also props for being so informed and knowledgable

  • @ThiagoLimaRocks
    @ThiagoLimaRocks 2 ปีที่แล้ว +19

    I have been working on Software Development for the last 8 years and I never had a code review. Recently I have been promoted to be a tech lead, and I didn't know how to do code reviews. Please, do more of this, and maybe I'll learn how to work better.
    Thanks.

  • @diogoluizzzzzz
    @diogoluizzzzzz 2 ปีที่แล้ว +15

    Greetings from Brazil !
    Congratulations for your content, it has helped me a lot!
    I don't understand English very well, but your diction is very good and you don't speak super fast like other people lol, so I can follow your content more easily!
    thank you !

  • @pablon3115
    @pablon3115 2 ปีที่แล้ว +2

    This is a truly channel for developers unlike other channels that shows any kind of crap except programming itself.

  • @ogookafor2137
    @ogookafor2137 2 ปีที่แล้ว +11

    I LOVE THIS! We need more of this . Thanks Amigos

  • @FedericoFavaro
    @FedericoFavaro 2 ปีที่แล้ว +3

    Hi there, great video there, enjoyed watching it a lot.
    If you want to make this format even better, you could go a bit more in depth about why things are not working. Well, maybe not naming conventions because they are just conventions, but say:
    - constructor injection -> you say multiple times to use it over field injection, but you never explain the reasoning behind this
    - exceptions in controllers -> you say not to throw exceptions in controllers, but never explain why that should be avoided
    And so on. Basically, I feel like this type of content could have GREAT potential, but that it calls for a more in-depth analysis

  • @aykborstelmann8623
    @aykborstelmann8623 2 ปีที่แล้ว +29

    The reason for writing tests is not just to be sure that everything works but also to improve your code. Testable code is usually much cleaner.
    Just to give you guys extra motivation for testing.

  • @yasmin_jsmn
    @yasmin_jsmn 2 ปีที่แล้ว +14

    I wish I had the chance to see code review like this earlier in my career. You are doing a great job جزاكم الله خيرا.
    I have a question please, why it's not good practice to have an interface for each service? Without interface you're depending on implementation not abstraction.

    • @zlarak
      @zlarak 2 ปีที่แล้ว +3

      Completely agree with you. Having dependencies in the constructor is nice, but Dependency Inversion requires you to reference an Interface and not the implementation itself. Otherwise you're introducing unnecessary coupling to that one implementation. Interfaces also are usually easier to mock during tests.

    • @31redorange08
      @31redorange08 2 ปีที่แล้ว

      @@zlarak No, no interface required. Unneeded bloat.

  • @patrickbelanger6253
    @patrickbelanger6253 2 ปีที่แล้ว

    I really enjoy watching these code reviews! I learned a lot watching you review Spring Boot-based app. Well done!

  • @jorgerst
    @jorgerst ปีที่แล้ว +4

    9:03 - Why "always add the @Query" even if spring boot provides you the implementation based on the method name on many cases?

  • @pedro.carara
    @pedro.carara 2 ปีที่แล้ว +18

    omg!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! im the frist one in the video omggggggg!!!! :D :D

  • @eli-tutos
    @eli-tutos ปีที่แล้ว

    I wanted to give a like every time you said "TEST YOUR CODE". TH-cam is full of guys teaching bad practices so this video is GOLD. I'll save it for future reference.

  • @noone-gz4pc
    @noone-gz4pc 2 ปีที่แล้ว

    TH-cam brought me here and I'm so happy I found you! subscribed.

  • @carlosrenesoto9650
    @carlosrenesoto9650 5 หลายเดือนก่อน

    Great video! I Always learning new things from watching your videos. Regards from Tijuana, México

  • @KolosBros
    @KolosBros 2 ปีที่แล้ว +5

    awesome video! This is the best way to learn how to properly write code ! It's awesome to learn good practices from such pro as You! Please do more in the future !

  • @ogwokwilliam3891
    @ogwokwilliam3891 2 ปีที่แล้ว +1

    am a MERN developer - this is the most helpful content I've found all month. Thanks alot

  • @Lucas-ej1si
    @Lucas-ej1si 2 ปีที่แล้ว

    The "olá, tudo bem?" made a big smile on my face, thank you

  • @bogdanspirea9050
    @bogdanspirea9050 2 ปีที่แล้ว +20

    Why is it considered a bad practice not having @Query on top of the methods in the repository?

    • @Quillraven
      @Quillraven 2 ปีที่แล้ว +12

      I also did not get that. Why define a query when spring is automatically doing it for us?
      I get it for complex queries but for simple ones I personally prefer it without @Query unless someone has a good reason for it.

    • @theyreMineralsMarie
      @theyreMineralsMarie 2 ปีที่แล้ว +15

      It's not bad practice, it's just his opinion. Not everything this guy says is law.

    • @TheN0odles
      @TheN0odles 2 ปีที่แล้ว +1

      @@Quillraven Agreed

  • @lxdzii
    @lxdzii 2 ปีที่แล้ว +1

    Wow beautiful content as always 😊😻, haven't been seeing ur channel in a while,(TH-cam algorithm hasn't been recommending me ur videos :( ) i realised i missed a lot of interesting videos💫👌... Will be catching up soon

  • @somdaarnaud
    @somdaarnaud 2 ปีที่แล้ว +2

    Please do expand on the feedback you make so people know why doing 'xyz' is not a good idea rather than just this is not good practice, helps strengthening the point as to what can happen if this is not done. Appreciate the video though, one of the most informative ones I've seen in my career!

  • @mrcoder9401
    @mrcoder9401 2 ปีที่แล้ว +8

    Walaikum as Salam.....
    Masha Allah , this is great man ,this helped alot analyzing myself. Looking for more such reviews. Thanks!

  • @kadusalles
    @kadusalles 2 ปีที่แล้ว +1

    Hey man! :D Awesome video, you could explain more, detailing why he should do it the way you told him.

  • @plankton383
    @plankton383 2 ปีที่แล้ว

    Code reviews are my favorite programming content on the internet. Subscribed. Please do more! 🙏🏻

  • @exprove2496
    @exprove2496 2 ปีที่แล้ว +6

    It's wrong to catch every `Exception` at 6:00, since there are many things that could go wrong. However I think you should catch a custom service exception NotFound (or findById exception if it already throws a DoNotExistException) on the controller and return a HttpStatus.NOT_FOUND. I don't use Spring for years but I don't think IllegalStateException will automatically map to a 404 response. Normally unhandled exceptions will throw a 500 internal error on webservers.

    • @fauzrukendworld1633
      @fauzrukendworld1633 2 ปีที่แล้ว +1

      I don't know Spring but on my projects I usually use some kind of exception event or at a higher level than the actual action that does this exception conversion from Not Found from the ORM to the HTTP 404 exception. This avoid having to repeat the try catch in all the controller actions I might have.

  • @ParadoXxGER
    @ParadoXxGER 2 ปีที่แล้ว

    You have a very positive influence on our coding-community. Nice work!

  • @mjdev-i1p
    @mjdev-i1p 2 ปีที่แล้ว

    Really good advice.
    You always have to remember that the Tech-Lead is not the one who is hiring you but he has to defend your application and if you follow Amigos advice you make it very easy for somebody to defend your position.

  • @andreujuanc
    @andreujuanc 2 ปีที่แล้ว

    "What is this, man? Have some tests!" XD haha that was so good.

  • @marupakasrikarsharma9371
    @marupakasrikarsharma9371 2 ปีที่แล้ว +8

    Hello Nelson! Thanks for sharing great content.
    I have a doubt, why are we removing @Autowired and adding constructor injected ?

    • @stevenr3537
      @stevenr3537 2 ปีที่แล้ว +1

      It's switching from setter depending injection to constructor based injection.
      Constructor based, using final is a immutable dependency injection method, whereas with setter based technically the dependency could be changed after initial instantaniation of the controller

  • @squ34ky
    @squ34ky 2 ปีที่แล้ว

    This video is amazing! Got to learn so much from reviews. Thank you!

  • @WilmanArambillete
    @WilmanArambillete 2 ปีที่แล้ว

    i totally loved this video. It is super useful to have your feedback since you seem to have a lot of experience with Springboot and Java. Kudos for this video

  • @iiikawaiii9098
    @iiikawaiii9098 2 ปีที่แล้ว

    I stumbled upon your video by accident, why didn't I do this earlier?? Your content is the best I have ever seen. And yet, what are your background configurations and so on? The appearance of the IDE with the code makes the eyes happy

  • @istainblack
    @istainblack 2 ปีที่แล้ว +3

    This content is awesome! I really enjoyed this video. Its really cool to get an inside look into what is going through an experienced developers mind in a code review!

  • @aadlani
    @aadlani 2 ปีที่แล้ว +34

    I can't thank you enough for putting this together. 💖💖 May Allah reward you well

    • @speedfastman
      @speedfastman 2 ปีที่แล้ว +2

      Allah's not really rewarding Ukraine rn. 🤕☹😥

    • @forevermist3838
      @forevermist3838 2 ปีที่แล้ว +1

      @@speedfastman God gave all of us free will and a ruleset of moral obligations to live by. Now just because a war happens or someone close to you dies. You don't blame God you blame the person who used his free will to cause deaths.

    • @speedfastman
      @speedfastman 2 ปีที่แล้ว

      @@forevermist3838 Why would God be so silly to give us free will when he knows we'll have pain and suffering because of it!

    • @forevermist3838
      @forevermist3838 2 ปีที่แล้ว

      ​@@speedfastman Without free will you are just a robot, you won't have the ability to make your own choice .This life is not given to us for free, Through out your whole life you are tested. You have the capacity to do good or bad, Hence the reward and punishment according to your actions. You will get reward if you do good things in this life and in the hereafter and for wrongdoers Justice prevails. If not for God you can do bad things and hopefully justice serves but sometimes you get away with it. You don't have a punishment waiting for you in the afterlife and you don't have the fear of being punished by God. Same argument can be put against athiests, Why do humans have the ability to think and make choices? If not then the world wouldn't be so bad right?

    • @speedfastman
      @speedfastman 2 ปีที่แล้ว +2

      @@forevermist3838 Is God good and omnipotent? Yes? Then he wouldn't have created suffering. End of story.

  • @YT_Zorro
    @YT_Zorro 2 ปีที่แล้ว +4

    The @Query is usually the bad practice in this case when using JPA. Only use @Query if JPA cannot make the query you are trying to do. Also wrap your repositories in service layers for cleaner implementation.

    • @DavisTibbz
      @DavisTibbz 2 ปีที่แล้ว +2

      Yep i agree ☝️

  • @Influras
    @Influras 11 หลายเดือนก่อน

    This channel is a gem for the java community

  • @faisalalghamdi2066
    @faisalalghamdi2066 2 ปีที่แล้ว +1

    Really enjoyed watching this. Great stuff, thanks!

  • @asandax6
    @asandax6 2 ปีที่แล้ว +5

    The money using double or float problem is real. I've seen too many students use it when I help them with assignments. The most infuriating thing about this is that most when I ask to see the books they are using it's written that never use floats to do financial calculations and give examples of why.

  • @SealedSaucer
    @SealedSaucer 2 ปีที่แล้ว +1

    The algorithm have blessed your channel.

  • @mohamedbensalah7169
    @mohamedbensalah7169 2 ปีที่แล้ว +1

    Oh man, this type of content is great, thanks bro

  • @renanbrayner984
    @renanbrayner984 2 ปีที่แล้ว

    1:53 that "olá, tudo bem?" was soo smoooth

  • @P3PPING
    @P3PPING 2 ปีที่แล้ว +1

    You went straight to tests, I went straight to the subscribe button.
    Nice reviewing!

  • @michelnicholas
    @michelnicholas ปีที่แล้ว

    Thankful for you Amigos I remember being a beginner and you guided me thank you

  • @Yahyazini
    @Yahyazini 2 ปีที่แล้ว +1

    Wallahi… this video is awesome brother!

  • @GetDone96
    @GetDone96 2 ปีที่แล้ว

    Incredibly useful, it's like a video version of pull request review. Keep it up!

  • @dantedt3931
    @dantedt3931 2 ปีที่แล้ว

    This is awesome mate. Great content and a unique approach.

  • @Japhu
    @Japhu 2 ปีที่แล้ว +2

    @ 33:00
    not sure what exactly thats doing but creating new threads on runtime is not a good practice in java because of cpu overhead and vulnerability for dos attacks. Always use a threadpool.

  • @esquilo_atomico
    @esquilo_atomico 2 ปีที่แล้ว

    That "olá tudo bem ?" was perfect. Nice portuguese bro

  • @contactdi8426
    @contactdi8426 2 ปีที่แล้ว

    This is the best series!! I really liked and learned, please keep on giving these review videos

  • @NkosiMlambo
    @NkosiMlambo 2 ปีที่แล้ว +1

    This video was helpful. Thanks Amigo.

  • @oguz7392
    @oguz7392 2 ปีที่แล้ว +1

    It was great video man. Thank you so much for all this tips.

  • @youssefelmoro1464
    @youssefelmoro1464 2 ปีที่แล้ว +3

    we need another video like this Bro

  • @blvckchocolvte
    @blvckchocolvte 2 ปีที่แล้ว

    Great stuff man, much love all the way from Angola

  • @coreykuehl8519
    @coreykuehl8519 ปีที่แล้ว

    Definitely more of these videos. It would be great for them to go a little longer as well.

  • @lukagolubovic3641
    @lukagolubovic3641 ปีที่แล้ว

    Please do some more videos of this type, they are very useful and it is secured to have at least 150k+ views because people are looking into watching and learning from videos like this one. Thank you

  • @vinaychaurasiya719
    @vinaychaurasiya719 2 ปีที่แล้ว

    i encountered so many problems in my project just by watching this video, thank you so much sir.

  • @akshayrc
    @akshayrc 2 ปีที่แล้ว

    Great content here.. Thank you Nelson for making one! Please bring more code review videos.

  • @ourybarry2983
    @ourybarry2983 2 ปีที่แล้ว +2

    19:03 In my opinion returning numbers of deleted row isn’t actually a good idea as the method takes a single row id in param it we already know that it will always return 1 in case of success, so i think’s it’s better to return a boolean that will tell if the deletion was successful or not

    • @anhquantranle961
      @anhquantranle961 2 ปีที่แล้ว +2

      yeah return the number of deleted row is actually bad because it is not flexible enough for a change to an interface. Imagine if for example later they decide to change the implementation to another database technology that don't support returning number of deleted row -> we now have to change a lot of code to accomodate that. Besides, returning the number of deleted row is such an unnecessary detail which the dependent class need to know: why number of deleted row but not the data that get recently deleted? why number of deleted rows but not boolean value like you said.

  • @saaddogar8563
    @saaddogar8563 2 ปีที่แล้ว

    that salam hit different bro keep up the great work!!

  • @lovetocode
    @lovetocode 2 ปีที่แล้ว

    really like this kind of professional code reviews. Would be great if get to see more.

  • @420_FORTNITE
    @420_FORTNITE 2 ปีที่แล้ว +1

    Thank you so much! Please do more of these :)

  • @FdcTeamDev
    @FdcTeamDev 2 ปีที่แล้ว

    LOVED THE "OLÁ, TUDO BEM?"

  • @tseby1172
    @tseby1172 2 ปีที่แล้ว

    This is incredibly usefull and helpfull especially to someone like me (who has not landed a job yet) to get insights on how things should be

  • @oscarmiranda9532
    @oscarmiranda9532 2 ปีที่แล้ว

    Hey Salim, (Sorry if that isn't how you spell your name), but you should considered a video where you explain architecture on how to build our projects

  • @titzko987
    @titzko987 2 ปีที่แล้ว

    First time Im seeing this kind of content on youtube, but its really good. Please more of it

  • @slenderman5730
    @slenderman5730 2 ปีที่แล้ว

    Where are you from bro? That "Olá tudo bem?" at 1:54 sounded too good for a non-portuguese speaker :D

  • @YourCompanyCTO
    @YourCompanyCTO 2 ปีที่แล้ว

    Bless you man! Hope you're ballin'!

  • @Michaeljamieson10
    @Michaeljamieson10 2 ปีที่แล้ว +2

    please keep doing this! I didnt quite understand why not to have an interface for each service... if anyone can explain it would be appreciated!

    • @UsernameUsername0000
      @UsernameUsername0000 ปีที่แล้ว

      My understanding is that it’s superfluous because it’s not like you’re going around creating multiple versions of that service. You don’t need a contract for something that you won’t write more than one version of. At least that’s what I think it is. This way you’re forcing yourself to synchronize two classes instead of one, when you only need one.

    • @tommasochiti4237
      @tommasochiti4237 หลายเดือนก่อน

      @@UsernameUsername0000 The reason you create mono interfaces like that is exactly for testing, so you can mock an IGameService.

  • @syedalimehdi-english
    @syedalimehdi-english 2 ปีที่แล้ว

    Just came across your channle. Subbed!

  • @onyedikachie.ibeabuchi8803
    @onyedikachie.ibeabuchi8803 2 ปีที่แล้ว

    Awesome content, Nelson.
    Thanks a million.

  • @tamerjaber6987
    @tamerjaber6987 2 ปีที่แล้ว

    Great content, this is amaizing and an added value 😍
    Much L❤VE & Support 💪

  • @maulanaiman4448
    @maulanaiman4448 2 ปีที่แล้ว

    This is what I often looking for on youtube, the only channel that doing code review is Laravel Daily, it's hard to find a content like this.

  • @tobiowolawi7989
    @tobiowolawi7989 2 ปีที่แล้ว +1

    I'm always glad whenever I see smart young black software engineers, this was never usually the case like 10 years ago in which very few of us existed. keep up the good work buddy

  • @patocuchara01
    @patocuchara01 2 ปีที่แล้ว

    I love the way you do the cr, I learned a lot in this video, thanks a lot!!!

  • @Alberto_Cavalcante
    @Alberto_Cavalcante 2 ปีที่แล้ว +1

    Grande Nelson! Hope you keep doing more videos like this.

  • @returncode0000
    @returncode0000 2 ปีที่แล้ว +1

    Nelson, whats that IntelliJ theme you use? looks nice!

  • @infinteuniverse
    @infinteuniverse 2 ปีที่แล้ว +3

    No interfaces for services? I thought standard practice was to do something like:
    UserService as the Interface and UserServiceImpl where the actual implementations go. Same with DAO: UserDao, UserDaoImpl.

    • @stevens1665
      @stevens1665 2 ปีที่แล้ว

      I also wonder why he said it was bad practice

    • @zebra9389
      @zebra9389 2 ปีที่แล้ว

      can I ask why the standard practice requires you to use interfaces for service?

    • @Japhu
      @Japhu 2 ปีที่แล้ว

      You do facade your impl. with an interface. What he meant is the throwing exceptions in the apis because you should handle exceptions at the service layer.

  • @NewsSphereNetwork
    @NewsSphereNetwork 2 ปีที่แล้ว

    Salam, You love testing bro, I don't test my code, you got me interested about doing them on future hahaha, The airplane example was good.

  • @ghodhbaniabderrahmen5433
    @ghodhbaniabderrahmen5433 ปีที่แล้ว

    Bro I like the way you said " WALLAHI I'm disappointed" in 3:26 😁😁😁

  • @aminshoman1
    @aminshoman1 2 ปีที่แล้ว

    I am happy you are a good Muslim, proud of you bro, hopefully this content will be Hasanat for you ❤️

  • @ramasauge
    @ramasauge 2 ปีที่แล้ว +1

    why is programming services to interfaces bad? like in teh case of IService, for now there is only one implementation, but what if for some reason a need arises to have a -slightly-different implementation of this service? I though programming to an interface always gives more flexibility whether its needed or not?

  • @eugenesmith9940
    @eugenesmith9940 ปีที่แล้ว

    I was taught that while using spring you either do injections via @Autowired on fields or constructor. It was said that both ways were correct and we should just pick one and stick with that choice.
    So, now I see that you remove @Autowired from fields and don't use it on constructor. Am I right that constructor itself is enough for dependency injection and @Autowired annotation is redundant in this case? Because I do use @Autowired on my constructor to do dependency injections having my fields private and final.

  • @Harudokku
    @Harudokku 2 ปีที่แล้ว

    Hey, nice code review. It's also great to see what keyboard shortcuts you're using. But i have a question, what library have you recommended in 32:30? Because i can't find anything called Openfay

    • @korgrey
      @korgrey 2 ปีที่แล้ว

      probably he mean openFeign, according to his another video
      th-cam.com/video/cehTm_oSrqA/w-d-xo.html

  • @fredheladrienkissie1404
    @fredheladrienkissie1404 2 ปีที่แล้ว

    Hello, I liked your video and how you did the review.
    But ´I’ve been distracted by your mic 🎤, the sound is so nice, what brand is it ?