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!
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!
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
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
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
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") }
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.
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];
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
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
Hey @Amigoscode, I have been watching your channel for a while and I think it's the best Java programming channel on RUclips. Keep up the hard work and wish you all the best.
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.
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.
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 👍
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
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
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.?
👇👇🙏🙏🙋♂️🙋♂️👇👇 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
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 and therefore be more cryptic ... If you are writing the code for machines yes... But usually human beings will read the code
@@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.
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
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
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.
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 :|
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 :)
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!
i too prefer one liner as long as it is readable else give me an if-else
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!
Exactly. NullPointerException is one of the most common exceptions in the language.
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
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
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
Is it paid?
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")
}
Cool! I didn't know that! Is it only when the case is a one-liner?
@@moromann1 not only. Just use curly braces if code is longer than one line
yes! same thing came to mind immediately I saw the switch
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.
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];
12:09
you can write do-while loop
instead the while loop to make it good concepts of loops
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
Sounds like 2 sec job using any decent code editor
i started learning java 5 months ago and just found your channel
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!
Good format mate, knew some but certainly not all... fun to follow along.
Many things looks similar to JavaScript, I'm thinking of learning Java after mastering JavaScript
im currently switching back to java (from php) and videos like this are a great help. forgot a ton of stuff
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
Thanks for the video and Ramadan Mubarak, brother!
Learned a lot, thanks Nelson
I literally laughed for 5 mins after seeing the thumbnail 😂😂
I was staring at it a few seconds thinking "Who in the world compares a datatype and a value??" 😂
@@Starchaser38 In Java it's boolean, you probably thought about some other language like C :D
@@pyroandi6797 Yes, I come primarily from C/C++ 😅
Those were very hilarious few seconds, before I realised about the different type names 🤣
The best videos about Spring Boot! Thank you very much.
Hey @Amigoscode, I have been watching your channel for a while and I think it's the best Java programming channel on RUclips. Keep up the hard work and wish you all the best.
Salam Bro,
This is very helpfull, barak allah fikom, eid mubarek
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.
keeeeep doing theeeese short clips. I love them. Thanks
Really amazing, man! As junior developer I really want to thank you for the tips.
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.
He mentioned .removeIf() on 3:08 but yeah it was quite short explanation and can easily be overseen.
"Don't return null, it's bad"
JavaScript: Invent undefined
great content amigo!!!! hope you are doing great!!!
nice to hear you, maestro :)
Thanks for this, comrade! Excellent summary
In 2:20 why not use stream? And for loop would also work there.
Thanks for the lessons man. May Allah reward you abundantly.
وعليكم السلام! جزاك الله خيرا!
Can you please make a video about event-driven architecture with Spring Boot and Axion Framework please ? and thank you
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 👍
wow realy good work thanks a lot i love to see tips and optimisations
Asalamu aliakum wr wb. MashaAllah.. Love the content. May Allah make you Mufti Menk in programming. Love to hear your advices.
Interesting that Java does not let you get a reference to the iterator in a for loop that internally uses an iterator.
Very helpful in fact at the right time against cosc211 Java OOP exams we'll have tomorrow.
I think I could consider myself as a senior developer because whatever you explained in this video i know all of these.
Very usefull tips. Thank's!!
Great piece of info for Java developers.
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
God bless you brother 🙏
thanks for the nice tips!!!
BTW, new UI's default dark theme is different only on MacOS, Windows and Linux have the same color scheme. Unsure why.
my intelliJnew UI is much darker tho. Windows 11
I think I know why, "Edit color scheme -> Dracula Contrast"
Hai brother, very useful your videos thank you so much... Please make video relate to Java Design patterns
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
really helped me thanks a lot
great content amigos, well done
Top tips! 💡
Awesome!
For the iterator what's the problem with using filter function(s)
A very useful video! Can you make one with common mistakes in Spring boot?
Literally it's the video before this one..
Hi bro i am writing an ecommerce site using Java for backend. What better way to store product images.
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?
My grandfather used to wear that type of cap😅😅❤❤…. Love from kashmir❤❤❤❤
بارك الله فيك!
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
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
you can also use Vscode
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.?
might as well use streams...
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;
}
}
my company started migrating all java code to kotlin, is that a great decision?
Yes, kotlin is java on steroids
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
Thanks for the video
MashaAlloh.
JazakAllohu xoyron
For next Video can you Kindly show us how to make our spring docker images connect and communicate with non-dockerized applications or databases
Thanks Amigos
Bro is it possible to build a website using Java .
Yes
@@alienwarex51i3 how
@@sbrixxo. ohh okie thank you
@@17_hariprasath.j41 Spring Boot, JPS.. Apache Tomcat. Lots of ways
@@alienwarex51i3 okie
Thanks bro
I start watching Nelson's videos after I smash the likevbutton first😆.
Thank You man
Amazing content as usual
Pushing the algorithm ❤
Please make more such videos
what is your intelliJ theme in this video?
Optional blew my mind
👇👇🙏🙏🙋♂️🙋♂️👇👇
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
Awesome content
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
isnt arraylist heterogenous?
No, if you define a type all information in the ArrayList must be the same type
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
write less and do more
@@alexisantonindioulo4225 and therefore be more cryptic ... If you are writing the code for machines yes... But usually human beings will read the code
It's a joke with switches? Why don't just use "->" syntax?
Not everyone using latest version of Java
Many projects are java 8.
@@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.
Kareem Ramadaan. Thanks bro
15:10🤨🤔🥴😁
thanks brother
The thumbnail def looks like something you'd expect from Java devs 😂
Judging by the cover, one gets the impression that Java is programmed by people with Down syndrome and cerebral palsy at the same time
LMAO so true 😂😂
where is the " assalamou allaykoum amigoscode " ?
I finally heard it at the end of the first part ❤
good to know that I don't do these mistakes.
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
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?
How can I communicate with you brother directly thanks
superb you are
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
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.
Amigo are you cold, whats with a cap on ?
how can i change my inntellij build loading animation with different color. I saw that yours is like rainbow🌈.
plugin:nyan progress bar
Number 1: Develop anything in Java
is that ok to state in our portifolio that we used chat gpt to refactor the code?
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 :|
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 :)
My dear ahi, please, dont forget about اَلسَّلَامُ عَلَيْكُمُ 🤗❤
Awesome
Bro, if you’re having to explain to someone how .equals work, you probably shouldn’t be telling about string optimization on memory poll
awesome
I wish some RUclipsr to spring/Java like Phillip lackner on Android, cuz he teach something that is reaaaally problems, not this simples thinks
1st mistake: started a Project in Java xP
Switch to New UI pls. Classic UI sux.