Source Code ►
Twitter ►
Slack ►
Stream ►
Website ►
Facebook ►
Want more? You can help out by supporting me on Patreon!
————————————————————————————————-
Website:
Twitter:
Facebook:
Subreddit:
Steam Group:
————————————————————————————————-
Outro music is by Approaching Nirvana:
Nguồn: https://sangoivon.vn
Xem thêm bài viết khác: https://sangoivon.vn/game/
I heard OOP was bad (thanks youtube) and now i'm worried of designing a game in OOP instead of procedural…
any tips on how to do solve problems without OOP Cherno???
Man you're a wealth of knowledge bro! keep up the good work!!
30 minutes and all I got done were 2 files and 40 lines of code………………
I feel pretty confident that setters are created in order to make sure that a member variable does not have a wrong value which could cause unhandled problems within member methods.
Tactical dot .
Finally a channel I can relate to
That thing with making a variable public was so wrong……………………….. Pls
do u have ur program ducky?
i learned something new ->
WOW YOU WRITING SO FAST DID YOU USE MAGIC??????? ._.
would this work well with Android?
How do you get the little [Rain master] next to your projects?
So in probably to stupid to do matrix multiplication my code looks like this:
void matrix :: mulitplicate (GLdouble [16] )
{
char x,a,b;
GLdouble[16];
for(x=0; x < 16; ++x)
{
a = x % 4; b = (x/4) * 4;
tm[x] = nm[a] * mx[b] + nm[ a + 4] * mx[b+1] + nm[a+8] * mx[b+2] + nm[a+12] * mx[b+3];
}
for(x=0;x<16;++x) mx[x] = tm[x];
Two prerequisites
First it must be done with an one dimensional array
Two it should work without pointers
I like your hair :3
Will you ever livestream again?
You should add some sounds in the future! Just a suggestion 🙂
The whole idea behind private variables was hiding state from external code, at least in the cases where you have to control how it gets accessed; for example, if you're only allowed to increment a variable you should have it private with a getter and an increment method (but no setter). Except most OOP programmers think that everything should have a getter and a setter to "control" access to a variable; in reality they just write a few extra lines because they've heard something vaguely similar being mentioned as good practice before. If your getter and setter are doing the same thing as having a public method, you're NOT controlling access to a variable and you're NOT hiding state. All you're doing is making the state more of a pain in the ass to deal with when it needs to be dealt with and exposing it in places where it shouldn't be dealt with. It really annoys me how so many programmers just blindly sit there and write getters/setters because they heard it was a good idea without even considering what it does or why people say to do it.
Is the the regular Eclipse or the EE version?
Hey Cherno, just wondering: You planning on doing anything video wise with C++ soon? If not, I would love it if you could at least consider it!
totally agree on getters and setters (just watching for listening to something while doing other stuff :D) and could you please change to a dark theme?
Yay, another Episode 😀
I think it's great to ear your opinions about coding practices and why you write code the way you do =)
You can also do
this::listen
IMO, in java a Getter is almost always useful because you can use it as method reference for a Comparator or something. But to be honest I almost never use setters so I mostly go with private with a getter
One thing with getters and setters is you are guaranteed a consistent way to interact with the classes in your project. For example, if I was writing a complex number class which stored the real and imaginary parts I would use getters and setters for those because I can then write other functions which are like the getters but compute the result rather than just returning the variable. For example if you wanted Arg(z) then you'd use complex.getArg() in the same way as complex.getImg() or complex.getRe(). Since there is practically no hindrance on performance I'd argue that this consistency and ease of understanding is better than saving 8 or so lines in the complex class
As for the getter/setter thing. Me from when I first watched your videos was probably one of the guys going "Why does he make class fields public?", as I was in my first year of University, and being taught the dogma of "You MUST keep class fields private." These days I see it more a guideline than a strict rule.
In OO code, you want to try and keep details of the class internal to the class, but this is not always practical. If you find that you are writing getters and setters for a class, than you may as well make it public, unless those getters and setters do some bounds checking or something (which is where C#'s Properties shine).
Were is lapses Ep.9 or Season.2
Is it weird that the first thing I thought when I opened the video was "Oh! He fixed his hair!"?
The point in getters/setters is, there are some situations where you dont want the programmer to have access to a specific field. For example if you have a server: You can't change the port after server initialization so you're creating a getter for the port field but not a setter because that would make no sense. For another example, if you want to notify a listener for a changed value you just need to implement the "listener-notification-code" under the setter, when using public fields you have to manage it somehow otherwise.
I definitely love when programmers talk about their personal styles and preferences, keep it up 🙂
wow you switched to eclipse!
Just use lombok library for exclude writing getter and setter 😉
When you create the listener thread, instead of using lambdas, you could also use method references which are new in Java 8.
Lambda: listenThread = new Thread(() -> listen());
Method reference: listenThread = new Thread(this::listen);
Does the same thing, but looks a bit nicer in my opinion =)
The thing I dont like is that you are ranting about wether or not to use getters and setters or make the variable public, and not making the server stuff and explaining it on the way. If I want to know what the 'best' way is to program in java, ill look it up, and I'm watching your series to learn how to make a server.
I am with this dilemma. Java game programming seems easy, but games get laggy quick. using LWJGL seems more professional and way better optimized. using the GPU. but learning LWJGL is annoying with all the tutorials outdated and all the little things that need to be done.
Going with a different programming language could work but you may run into other problems.
Any suggestions to a way to make a good game?
I thought you would create a new game with less shitty code so it's a little bit more neat etc. And possibly in C++ or using LWJGL or something.. 🙁
Getting the server set up….love it! For those who've strayed ridiculously from TheCherno's original code (like I've done for my own single-player games), maybe do what I'm doing and get on Patreon to download all the original code so you can follow along this new season. Exciting stuff!!
cheers.