► Join my Discord community for free education 👉 discord.com/invite/bDy8t4b3Rz ► Become a Patreon for exclusive tutorials👉 www.patreon.com/anthonygg_ ► Buy me a coffee 👉 donate.stripe.com/aEU2a6ayH2uCa3u4gg Intro needs to be: "things YOU need to know" instead of I need to know :P :P Thanks for watching
I appreciate that you increased the text size! I also like that you had a summary of topics that you covered in the 2nd window for reference. Excellent information, thanks.
Great video! This content is pure gold for both newcomers and also some experienced devs that forget what idiomatic Go really means 😀. Thanks and keep it up!
Thank you Anthony, these are really good tips. I really enjoy your videos, they are always simple, on point and explained thoroughly. Appreciate the effort and thought put into it.
Awesome stuff thanks man. Agree with all these points. However, I don’t get the minimalist variable naming. I’m of the of the opinion that variable names should be as descriptive as possible
Love your videos. One of the most "stupid" things I've seen in a language was the convention of "Er" for interface. The C# version of just adding `I` in front is much simpler. `IStorage` instead of Storer. The "Er" simpler doesn't always work for some words.
Or, the name could mirror what functionality the interface covers. In the example of the "Storer", it is possibly an abstraction over some persistence-layer, hence it could be Persister. I've used that approach a couple of times. The IStorage is for me more of a way around specifying what the purpose is, and instead naming the interface what you'd want the implementation to do, and not the other way 'round as it's, in my opinion, supposed to be.
Sorry but I'm not going to use small variable names to conform to your norm. They are going to be as long as i feel necessary to make it VERY clear what the variable is used for. But thanks for the rest of the tip, good content.
In regards to grouping, I still struggle on whether I should group my variables. I generally follow the rule of declaring variables right before they're used. That way others can readily see the variable near its point of use. I think I learned that from Clean Code or Pragmmatic Programmer. If not, then probably some Medium post. Either way, I do that for all languages I use.
That is the most questionable part of this video. There are many styles of variable grouping (and function grouping). The rest of this is pretty uncontroversial idiomatic Go. But the stuff about function and variable grouping is just this one guy's preferred style.
Just curious about last part of the video - constructor. If you define one New method per package, then how you suggest to structure your models/entities? Each entity per package with its own method or all entities in one package ?
Hello, very nice video! I would love to hear how idiomatic comments are written. Are points appended to the end? In which tense are the written? e.g something like // writing to port // write to port Comments start with the name of the variable but whats the best form to write one e.g. for variable Amount in a struct bank // Amount is the amount of money is in the bank // Amount holds the money // Amount contains information about how much money is in the bank I'm pretty confused how to write clean comments. Same applies to errors errrors.New("failed to write to pipe") errors.new("writing pipe failed") errors.New("write pipe") Thank you very much:) Take care
At the end of the day, neovim can do exactly what vscode does. But making neovim look like vscode is just a hassle with all the plugins you need. You will notice that after a period of time, things will break and you will need to spend too much time fixing those issues. Both are good editing tools, it's just what you prefer the most. Also, for streaming and recording, I think vscode scales a bit nicer in font and UI size for the viewer to watch.
@@anthonygg_ I cannot disagree with you, thank you for the reply. But my neovim loving friend pushing me too hard to be a "man" give off ms created "toys" and become a real man and use neovim :) Thank you again, it's real fun to watch your videos, but more how do you use tools to write a code and comment at the same time :)
@@dmitrygavrovsky5938 Pretty sure your friend is not as fast as me in coding with his "nvim" setup. And by the end of the day, the only thing that matters is that you solved the problem you are facing. I once was just like your friend. But I turned into a man lately 😆
what hits home hard are the comments on what is going on; 7 times out of 10 he's quoting the golang docs verbatim; huge deal; also the remaining 3 are probably experience talking; wow
Its a good list but at sole point your being nit picky. Like putting mutex above the thing you want to use it for. Just have descriptive variable names.
The information is great. For the presentation, I am irrationally irritated by the spastic cursor. I don't think it's just typing mistakes, though I do think you'd be well served to slow down your typing 20% and make no errors. I think the editor is doing some sort of intellisense checking, which makes the cursor hop around. If NOT, for god's sake stop doing that, yourself. This is driving me crazy and distracting from the otherwise high quality content.
Wow, the interface "tip" is such a bad example of cargo cult programming. Effective go only says this kind of derived naming is common for interfaces having only one or two methods.
► Join my Discord community for free education 👉 discord.com/invite/bDy8t4b3Rz
► Become a Patreon for exclusive tutorials👉 www.patreon.com/anthonygg_
► Buy me a coffee 👉 donate.stripe.com/aEU2a6ayH2uCa3u4gg
Intro needs to be: "things YOU need to know" instead of I need to know :P :P
Thanks for watching
I appreciate that you increased the text size! I also like that you had a summary of topics that you covered in the 2nd window for reference. Excellent information, thanks.
One of, if not the, best channels about go and software dev out there. Thanks so much for your work!
Thank you
what are such other channels about go?
This video deserves more likes if you ask me, very invaluable tips! Thanks Anthony!
This was a phenomenal video, keep up the great work, looking forward to joining the patreon
Great video! This content is pure gold for both newcomers and also some experienced devs that forget what idiomatic Go really means 😀. Thanks and keep it up!
Thanks!
Thanks UA-cam recommendations that showed this awesome channel. I extremely like your content about Golang. Wait for every video, big fan
This very good. Please add more like this. And best practices.
My favorite is the embedded interface.
This is so much useful brother, will really help to write the right code from the day 1 ....Amazing u r !!
Thank you!
I love your sense of humor 😂
Lot of value again in this video, keep them going!
Excellent and very valuable points. Thanks sir
Interesting, Must it is new for me. Thank you for sharing your Knowledge.
ok bro, you convinced me - i have subscribed!
this is immensely helpful. holy heck
Keep them coming, the best go tutor 👍
Thank you Anthony, these are really good tips. I really enjoy your videos, they are always simple, on point and explained thoroughly. Appreciate the effort and thought put into it.
"I'm so sorry Rubiest" I got there and laugh :p
Awesome! Writing idiomatic code instead of idiotic code!
Awesome stuff thanks man. Agree with all these points. However, I don’t get the minimalist variable naming. I’m of the of the opinion that variable names should be as descriptive as possible
You're awesome. Thanks.
Love your videos. One of the most "stupid" things I've seen in a language was the convention of "Er" for interface. The C# version of just adding `I` in front is much simpler. `IStorage` instead of Storer. The "Er" simpler doesn't always work for some words.
100% agree.
Or, the name could mirror what functionality the interface covers. In the example of the "Storer", it is possibly an abstraction over some persistence-layer, hence it could be Persister. I've used that approach a couple of times. The IStorage is for me more of a way around specifying what the purpose is, and instead naming the interface what you'd want the implementation to do, and not the other way 'round as it's, in my opinion, supposed to be.
Tks for the tips. Are really good ones, important and helpful. Ow, and simple. Like Go. 🎉
I fcking love your videos man
"I'm sorry rubyists" hahaa I'm dead. As a Rubyist very reluctantly working in Go, this hit too deep.
Sorry but I'm not going to use small variable names to conform to your norm. They are going to be as long as i feel necessary to make it VERY clear what the variable is used for.
But thanks for the rest of the tip, good content.
Can I please know which VS code theme are you using? :) Btw great video!
Love it!!
Thanks a lot!
Hey, I really can't find any example or reference about "Must"+ panic
Ahh the whole Suit thing - we call it a "type Prefix" in our Org - agree its important!
the "handle" naming convention is new to me. Do you have any articles about it? i do not feel it for 100%
Thanks in advance!
In regards to grouping, I still struggle on whether I should group my variables. I generally follow the rule of declaring variables right before they're used. That way others can readily see the variable near its point of use. I think I learned that from Clean Code or Pragmmatic Programmer. If not, then probably some Medium post. Either way, I do that for all languages I use.
That is the most questionable part of this video. There are many styles of variable grouping (and function grouping). The rest of this is pretty uncontroversial idiomatic Go. But the stuff about function and variable grouping is just this one guy's preferred style.
Just curious about last part of the video - constructor. If you define one New method per package, then how you suggest to structure your models/entities? Each entity per package with its own method or all entities in one package ?
Tnx.
Hello, very nice video!
I would love to hear how idiomatic comments are written.
Are points appended to the end? In which tense are the written? e.g something like
// writing to port
// write to port
Comments start with the name of the variable but whats the best form to write one e.g. for variable Amount in a struct bank
// Amount is the amount of money is in the bank
// Amount holds the money
// Amount contains information about how much money is in the bank
I'm pretty confused how to write clean comments.
Same applies to errors
errrors.New("failed to write to pipe")
errors.new("writing pipe failed")
errors.New("write pipe")
Thank you very much:)
Take care
I think if the comment make sense for you its all good.
Thanks you 💘
awesome
Can you please start a playlist for grpc.
This guy codes like he's playing Starcraft
Zerg player btw. 10 pool rush and call it a day
You are so cool!
Pretty useful to know these but very subjective imo. I highly disagree with the single character naming conventions. To each their own
I can understand that.
Could you please explain why are you using vscode but not neovim ?
At the end of the day, neovim can do exactly what vscode does. But making neovim look like vscode is just a hassle with all the plugins you need. You will notice that after a period of time, things will break and you will need to spend too much time fixing those issues. Both are good editing tools, it's just what you prefer the most. Also, for streaming and recording, I think vscode scales a bit nicer in font and UI size for the viewer to watch.
@@anthonygg_ I cannot disagree with you, thank you for the reply. But my neovim loving friend pushing me too hard to be a "man" give off ms created "toys" and become a real man and use neovim :) Thank you again, it's real fun to watch your videos, but more how do you use tools to write a code and comment at the same time :)
@@dmitrygavrovsky5938 Pretty sure your friend is not as fast as me in coding with his "nvim" setup. And by the end of the day, the only thing that matters is that you solved the problem you are facing. I once was just like your friend. But I turned into a man lately 😆
Name your return values, especially if you're returning multiple things.
what hits home hard are the comments on what is going on; 7 times out of 10 he's quoting the golang docs verbatim; huge deal; also the remaining 3 are probably experience talking; wow
20:00
Jfc that "enum" is pure trash. Sort it out, go.
Also trash: the “fat girl” jokes.
Some of us work with (and appreciate) women who code.
Great video, thanks! Your pronunciation of idiomatic is not very idiomatic, though ;)
You have no idea how many language errors I made in that video. Not my best day. 😥
@@anthonygg_ Don't worry, everyone knows it's not your first language
@@anthonygg_ thanks for sharing your experience with us. Bro, Where are you from? Greetings from Colombia!
Its a good list but at sole point your being nit picky. Like putting mutex above the thing you want to use it for. Just have descriptive variable names.
The information is great. For the presentation, I am irrationally irritated by the spastic cursor. I don't think it's just typing mistakes, though I do think you'd be well served to slow down your typing 20% and make no errors. I think the editor is doing some sort of intellisense checking, which makes the cursor hop around. If NOT, for god's sake stop doing that, yourself. This is driving me crazy and distracting from the otherwise high quality content.
Wow, the interface "tip" is such a bad example of cargo cult programming. Effective go only says this kind of derived naming is common for interfaces having only one or two methods.