10 Most Common Java Developer Mistakes

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ส.ค. 2024

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

  • @masterdjon
    @masterdjon ปีที่แล้ว +36

    I'm a senior software engineer and I didn't need to listen to this video, but I did. I positioned myself as a beginner and I found your video really interesting. The method of iterative corrections (in the "bool == true" example) is awesome. People learn and retain better this way (from my experience).
    I would like to express an amelioration you could do: give reasons why this or that is better and I also would tell in which circumstance. Example: In the ternary example, I do prefer one liner too, but only if it is short. And moreover, why there was a mistake (because, in fact, in terms of code execution, there is no difference at all)? (This is not a question to answer here, I already have the answer).
    That's it! Great video!

    • @KidJV
      @KidJV 4 หลายเดือนก่อน +2

      i too prefer one liner as long as it is readable else give me an if-else

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

    Since java 14 (i think) we can write switch statement using ->. for example:
    switch (caseIndex) {
    case 0 -> System.out.println("zero")
    case 1 -> System.out.println("one")
    default -> System.out.println("sth")
    }
    and using that we don't have to add break statement

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

      that's not too bad. Is it ever really necessary to have a switch statement in the first place though? I suppose it allows you to skip the step of having a table if you're truly just processing a unique output

  • @zazahead
    @zazahead ปีที่แล้ว +35

    Good Information! The only thing I think is important to mention additionally is that in the first example, you should also check for null values to avoid a NullPointerException. In general I think just comparing Strings with equals without considering null values is one of the most common beginner mistakes!

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

      Exactly. NullPointerException is one of the most common exceptions in the language.

  • @ilhomjonaxmatov6714
    @ilhomjonaxmatov6714 ปีที่แล้ว +21

    thanks for the info. But I think it would have been much easier to use the "new switch expression" available since java 12, if we used that our code would have been
    switch (caseIndex) {
    case 0 -> sout("zero");
    case 1 -> sout("one");
    case 2 -> sout("two");
    case 3 -> sout("three");
    default -> sout("default")
    }

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

      Cool! I didn't know that! Is it only when the case is a one-liner?

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

      @@moromann1 not only. Just use curly braces if code is longer than one line

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

      yes! same thing came to mind immediately I saw the switch

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

      From my side its can be better by return ning the value and apply the sout outside the switch. Because in this actual case thé switch is doing two things so its not single responsibility. If after you need only the values without print them you would have to create à New method to do the same thing. Or you would have to refacto your code to what I proposed before.

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

      I wouldn't even use a switch for this, just a simple array.
      String[] numbers = {"zero","one","two","three"};
      if(index < 0 || index > numbers.length) {
      return "default";
      }
      return numbers[index];

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

    12:09
    you can write do-while loop
    instead the while loop to make it good concepts of loops

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

    I am very new programmer, I took Amigoscode Java Master Class and I can proudly say that I am not doing not even one of these mistakes because the course taught we well. Thanks buddy! Now I see how the powerful your teaching really is

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

      Is it paid?

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

    i started learning java 5 months ago and just found your channel

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

    4:45 Worth stressing how important it is to use interfaces. This is a very simple example, but if it’s being passed around your codebase as the concrete implementation, that’s a lot of places you’ll need to change if you decide to use a different implementation… The same is true for when you use third party libraries, database etc. You will usually want some interface to that code

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

      Sounds like 2 sec job using any decent code editor

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

    Many things looks similar to JavaScript, I'm thinking of learning Java after mastering JavaScript

  • @rnt802
    @rnt802 19 วันที่ผ่านมา

    As a code reviewer, the mistakes I see most often every day are from developers who don't understand Boolean algebra, creating code like "if (value == true) return true", and the most common is using return null instead of optional.

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

    5 Months ago, I started studying cs in university, i still have no clue about coding... (lol)
    Afters seeing your video, i got smarter. Nice teaching!

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

    Very helpful in fact at the right time against cosc211 Java OOP exams we'll have tomorrow.

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

    Man i just love watching ur videos, learnt a lot of standards from ur code review videos. Currently i am planning to change jobs and quite afraid that i am not up to the level. :(. Keep posting these videos, i learn a lot from you, Thank u for everythiing

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

    Thanks for the video and Ramadan Mubarak, brother!

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

    Can you please make a video about event-driven architecture with Spring Boot and Axion Framework please ? and thank you

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

    Thanks for sharing such nice quick tips. Can you please make detailed video on garbage collector in java and optionals topics, please? Appreciate your explanations 👍

  • @ms-pf9ow
    @ms-pf9ow ปีที่แล้ว +1

    Learned a lot, thanks Nelson

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

    Good format mate, knew some but certainly not all... fun to follow along.

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

    Really amazing, man! As junior developer I really want to thank you for the tips.

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

    Thanks for the lessons man. May Allah reward you abundantly.

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

    MashaAlloh.
    JazakAllohu xoyron

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

    God bless you brother 🙏

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

    Hey @Amigoscode, I have been watching your channel for a while and I think it's the best Java programming channel on TH-cam. Keep up the hard work and wish you all the best.

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

    👇👇🙏🙏🙋‍♂️🙋‍♂️👇👇
    Need clear video on how to store date and time seperately into Database table columns
    For example: patient take appointment for doctor on particular day and time and also update them
    Can you make a spring boot angular app explaining this
    And also how to store date and time seperately using rest API

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

    1:30 surprised that you didn't touch on .removeIf() method that is present on all Collection subclasses. It's much less cumbersome than using Iterators and basically a one-liner. Functional trumps imperative style.

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

      He mentioned .removeIf() on 3:08 but yeah it was quite short explanation and can easily be overseen.

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

    nice to hear you, maestro :)

  • @alaaitanii
    @alaaitanii 8 หลายเดือนก่อน +1

    وعليكم السلام! جزاك الله خيرا!

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

    Can you make separated playlist for same videos, pls?
    Also thank for video i will share this with some collogues which cant write good code

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

    I think I could consider myself as a senior developer because whatever you explained in this video i know all of these.

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

    Thanks for this, comrade! Excellent summary

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

    Salam Bro,
    This is very helpfull, barak allah fikom, eid mubarek

  • @786Peacelover
    @786Peacelover ปีที่แล้ว

    Asalamu aliakum wr wb. MashaAllah.. Love the content. May Allah make you Mufti Menk in programming. Love to hear your advices.

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

    great content amigo!!!! hope you are doing great!!!

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

    Hai brother, very useful your videos thank you so much... Please make video relate to Java Design patterns

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

    keeeeep doing theeeese short clips. I love them. Thanks

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

    wow realy good work thanks a lot i love to see tips and optimisations

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

    BTW, new UI's default dark theme is different only on MacOS, Windows and Linux have the same color scheme. Unsure why.

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

      my intelliJnew UI is much darker tho. Windows 11

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

      I think I know why, "Edit color scheme -> Dracula Contrast"

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

    I start watching Nelson's videos after I smash the likevbutton first😆.

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

    I literally laughed for 5 mins after seeing the thumbnail 😂😂

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

      I was staring at it a few seconds thinking "Who in the world compares a datatype and a value??" 😂

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

      @@Starchaser38 In Java it's boolean, you probably thought about some other language like C :D

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

      @@pyroandi6797 Yes, I come primarily from C/C++ 😅
      Those were very hilarious few seconds, before I realised about the different type names 🤣

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

    For next Video can you Kindly show us how to make our spring docker images connect and communicate with non-dockerized applications or databases

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

    Thank you a lot for your video. I am interested in your course master class, but it is a little high course. Do you provide any ways to get coupons?

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

    Interesting that Java does not let you get a reference to the iterator in a for loop that internally uses an iterator.

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

    Amazing your java programming videos
    I have one doudt of oops concepts
    Give me one real time examples video , like gaming topics example on oops

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

    My grandfather used to wear that type of cap😅😅❤❤…. Love from kashmir❤❤❤❤

  • @23ZeuZ23
    @23ZeuZ23 8 หลายเดือนก่อน

    Optional blew my mind

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

    Thanks bro

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

    really helped me thanks a lot

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

    Huge bait that you have a switch statement and the approach is "don't forget to make the syntax the same" rather than bleach your code

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

    Very usefull tips. Thank's!!

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

    A very useful video! Can you make one with common mistakes in Spring boot?

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

    Please make more such videos

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

    Great piece of info for Java developers.

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

    great video!... but i wouldnt really agree with the ternery example
    return age >= 18 ? "Adult" : "Child" -> it is a very short way of writing the right logic
    but just isnt simple even if you are familiar with this expression
    i prefer the "if else" variant its easier to read

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

      write less and do more

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

      @@alexisantonindioulo4225 and therefore be more cryptic ... If you are writing the code for machines yes... But usually human beings will read the code

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

    Very help full video,
    your explanation very easy to learn n understanding.
    Sir amigoscode you mostly use intelji idea but now which editor is this?
    this is nice because we can see all method in the class very easily.
    please let me if every person know about that
    thanks

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

      still intellij idea,but use [structure] window instead of default [project] window,u can find it on the top of ur intellij idea menu,choose Views -> tool window -> structure

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

      you can also use Vscode

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

    Thank You man

  • @hadiya2.016
    @hadiya2.016 ปีที่แล้ว

    بارك الله فيك!

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

    Top tips! 💡

  • @just-me-and-code
    @just-me-and-code 3 หลายเดือนก่อน

    Thanks Amigos

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

    what is your intelliJ theme in this video?

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

    Thanks for the video

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

    Awesome!

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

    "Don't return null, it's bad"
    JavaScript: Invent undefined

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

    Thanks for your videos! BTW, I was thinking about this situation: there's an enum for statuses - and I was writing a method, that would make something depending the enum and then return enum.toString - but formatted to a more common format - first letter capital, than all letters in lower case, and _ replaced with spaces. What would be a better way - using StringBuilder, or getting substring(0,1) + substring(1).toLowerCase().replaceAll etc.?

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

      might as well use streams...

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

      Arrays.stream(Status.values())
      .map(s -> s.getVal().substring(0,1).toUpperCase() + s.getVal().substring(1))
      .map(c -> c.replace("_", " "))
      .forEach(System.out::println);
      enum Status {
      ON("available"), OFF("offline"), BUSY("brb"), CALL("in_a_meeting"), DND("do_not_disturb");
      final String val;
      Status(String s){
      this.val = s;
      }
      String getVal(){
      return val;
      }
      }

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

    thanks for the nice tips!!!

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

    my company started migrating all java code to kotlin, is that a great decision?

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

      Yes, kotlin is java on steroids

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

      Kotlin and Java are almost 100% interoperable, aside from a kotlin module for some libraries to work with it, you'll enjoy it a lot

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

    Pushing the algorithm ❤

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

    Hi bro i am writing an ecommerce site using Java for backend. What better way to store product images.

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

    Kareem Ramadaan. Thanks bro

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

    Amazing content as usual

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

    thanks brother

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

    The thumbnail def looks like something you'd expect from Java devs 😂

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

    good to know that I don't do these mistakes.

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

    Awesome content

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

    My dear ahi, please, dont forget about اَلسَّلَامُ عَلَيْكُمُ‏‎ 🤗❤

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

    isnt arraylist heterogenous?

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

      No, if you define a type all information in the ArrayList must be the same type

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

    1. in the first example you don't even have to use any explicit loop, just use .filter(), it's thread-safe as well
    2. doesn't really someone use generics? is it java 4 or what?
    3. I second that, string pool and equality are literally the basics of that language, but still a lot of people doesn't understand it
    4. intellij screams "if statement can be simplified", I'd rather give an piece of advice: "listen to your linter!"
    5. the ternary's cool :)
    6. when it comes to static fields, I'd rather pay attention to not allocate any particular amount of memory to them since they won't be garbage-collected
    7. the proper use of switch statements are good, but the switch expressions are better :)
    8. agree
    9. generally I recommend to get familiar with the jcmd tool, you can check memory dumps thanks to it and many many more
    10. optional is a good step forward, but vavr option is even better

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

      This was helpful. I knew most of what he covered but your points are a step further. Did you find this in the "Effective Java" book?

  • @17_hariprasath.j41
    @17_hariprasath.j41 ปีที่แล้ว +1

    Bro is it possible to build a website using Java .

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

    I think the advice about using List instead ArrayList does not apply when working with local variables, by doing so you limit yourself to use only interface that List provide (without casting). Generally your device is good but the way you change the code is is a bad practice :|

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

      It depends on the implementation you are using. Speaking of List and ArrayList, there is no reason to use ArrayList because it doesn't really provide any additional functionality that you would need to use. If the specific implementation provides additional functionality, then yes you are right :)

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

    How can I communicate with you brother directly thanks

  • @user-eh4ep7yc9w
    @user-eh4ep7yc9w ปีที่แล้ว +14

    It's a joke with switches? Why don't just use "->" syntax?

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

      Not everyone using latest version of Java

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

      Many projects are java 8.

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

      @@amigoscode yes i'am agree with this almost people dont know the last version of java, so in the demo he used the basic version to explain how to use Switch case correctly.

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

    is that ok to state in our portifolio that we used chat gpt to refactor the code?

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

    Amigo are you cold, whats with a cap on ?

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

    how can i change my inntellij build loading animation with different color. I saw that yours is like rainbow🌈.

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

      plugin:nyan progress bar

  • @norte-code
    @norte-code ปีที่แล้ว

    I wish some TH-camr to spring/Java like Phillip lackner on Android, cuz he teach something that is reaaaally problems, not this simples thinks

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

    Number 1: Develop anything in Java

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

    superb you are

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

    I honestly dislike new ui. It became too minimalistic, less functional and comperhensive, now every button only has icon instead of icon + name, so you cant say what is what without clicking on it, the color is also more blue, so it hurts my eyes

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

      I really love the new UI, you can change the theme of the editor too just in case. I never clicked on things and usually have everything at the reach of keyboard shortcuts so its very nice to remove the clutter in my opinion.

  • @user-el7fr6if3e
    @user-el7fr6if3e ปีที่แล้ว

    great content amigos, well done

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

    15:10🤨🤔🥴😁

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

    Judging by the cover, one gets the impression that Java is programmed by people with Down syndrome and cerebral palsy at the same time

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

    where is the " assalamou allaykoum amigoscode " ?

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

    1st mistake: started a Project in Java xP

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

    Switch to New UI pls. Classic UI sux.

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

    Awesome

  • @nikolaik.3489
    @nikolaik.3489 ปีที่แล้ว

    awesome

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

    Bro, if you’re having to explain to someone how .equals work, you probably shouldn’t be telling about string optimization on memory poll

  • @Ahmed-zeno
    @Ahmed-zeno ปีที่แล้ว +1

    وعليكم السلام

  • @SanidhyaKumar-lf2pv
    @SanidhyaKumar-lf2pv ปีที่แล้ว

    java or jewa

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

    The topics you talk about are interesting and you never fail to make me click, but i can never finish your videos because you are way way too slow, you always lose me halfway through. Please speed it up a little more

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

    👍👍