Important Tips On How To Write Idiomatic Code In Golang

Поділитися
Вставка
  • Опубліковано 24 січ 2025

КОМЕНТАРІ • 69

  • @anthonygg_
    @anthonygg_  2 роки тому +2

    ► 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

  • @kenrod6643
    @kenrod6643 2 роки тому +16

    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.

  • @lokthar6314
    @lokthar6314 2 роки тому +6

    One of, if not the, best channels about go and software dev out there. Thanks so much for your work!

  • @timi8272
    @timi8272 Рік тому +1

    This video deserves more likes if you ask me, very invaluable tips! Thanks Anthony!

  • @dongueW
    @dongueW Рік тому +1

    This was a phenomenal video, keep up the great work, looking forward to joining the patreon

  • @espolete
    @espolete 2 роки тому +5

    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!

  • @foreveryoung6108
    @foreveryoung6108 2 роки тому +1

    Thanks UA-cam recommendations that showed this awesome channel. I extremely like your content about Golang. Wait for every video, big fan

  • @issm6685
    @issm6685 2 роки тому +2

    This very good. Please add more like this. And best practices.
    My favorite is the embedded interface.

  • @bjugdbjk
    @bjugdbjk 2 роки тому +2

    This is so much useful brother, will really help to write the right code from the day 1 ....Amazing u r !!

  • @ralphlorenzo9473
    @ralphlorenzo9473 Рік тому +1

    I love your sense of humor 😂

  • @tpotjj2979
    @tpotjj2979 2 роки тому +1

    Lot of value again in this video, keep them going!

  • @nsgirish
    @nsgirish Рік тому +1

    Excellent and very valuable points. Thanks sir

  • @WaldirBorbaJunior
    @WaldirBorbaJunior 2 роки тому +1

    Interesting, Must it is new for me. Thank you for sharing your Knowledge.

  • @efraimdeluxe
    @efraimdeluxe Рік тому

    ok bro, you convinced me - i have subscribed!

  • @WomboBraker
    @WomboBraker 2 місяці тому

    this is immensely helpful. holy heck

  • @jondoe79
    @jondoe79 2 роки тому +1

    Keep them coming, the best go tutor 👍

  • @emzx111
    @emzx111 Рік тому

    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.

  • @vaishnavdeore2980
    @vaishnavdeore2980 9 місяців тому

    "I'm so sorry Rubiest" I got there and laugh :p

  • @thefrazz
    @thefrazz Рік тому +1

    Awesome! Writing idiomatic code instead of idiotic code!

  • @joofville
    @joofville 11 місяців тому

    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

  • @bersace
    @bersace Рік тому +1

    You're awesome. Thanks.

  • @metaltyphoon
    @metaltyphoon Рік тому +2

    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.

    • @anthonygg_
      @anthonygg_  Рік тому +2

      100% agree.

    • @Martin-mt6yo
      @Martin-mt6yo Рік тому

      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.

  • @marcosissler
    @marcosissler 11 місяців тому

    Tks for the tips. Are really good ones, important and helpful. Ow, and simple. Like Go. 🎉

  • @larrasket
    @larrasket 2 роки тому +1

    I fcking love your videos man

  • @Patrickdaawsome
    @Patrickdaawsome Рік тому

    "I'm sorry rubyists" hahaa I'm dead. As a Rubyist very reluctantly working in Go, this hit too deep.

  • @nojerome497
    @nojerome497 Рік тому +2

    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.

  • @abhishek--absh
    @abhishek--absh Рік тому

    Can I please know which VS code theme are you using? :) Btw great video!

  • @tnvmadhav2442
    @tnvmadhav2442 2 роки тому +1

    Love it!!

  • @АлександрЗверев-й1х

    Thanks a lot!

  • @CawaKharkov
    @CawaKharkov Рік тому

    Hey, I really can't find any example or reference about "Must"+ panic

  • @adjustyourtone
    @adjustyourtone Рік тому

    Ahh the whole Suit thing - we call it a "type Prefix" in our Org - agree its important!

  • @bartoszgoebiowski1538
    @bartoszgoebiowski1538 6 місяців тому

    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!

  • @sweetphilly2
    @sweetphilly2 Рік тому

    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.

    • @M0du5Pwn3n5
      @M0du5Pwn3n5 Рік тому

      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.

  • @JohnDoe-ji1zv
    @JohnDoe-ji1zv Рік тому

    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 ?

  • @Nexjsdeveloper
    @Nexjsdeveloper Рік тому +1

    Tnx.

  • @tucura9813
    @tucura9813 2 роки тому +1

    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

    • @anthonygg_
      @anthonygg_  2 роки тому

      I think if the comment make sense for you its all good.

  • @_q1b_
    @_q1b_ 2 роки тому +1

    Thanks you 💘

  • @pukito9123
    @pukito9123 Рік тому +1

    awesome

  • @UmarFarooq-un6jm
    @UmarFarooq-un6jm Місяць тому

    Can you please start a playlist for grpc.

  • @leighlawley
    @leighlawley Рік тому +1

    This guy codes like he's playing Starcraft

    • @anthonygg_
      @anthonygg_  Рік тому

      Zerg player btw. 10 pool rush and call it a day

  • @tigranrostomyan9231
    @tigranrostomyan9231 Рік тому

    You are so cool!

  • @6365bharath
    @6365bharath 2 роки тому +2

    Pretty useful to know these but very subjective imo. I highly disagree with the single character naming conventions. To each their own

  • @dmitrygavrovsky5938
    @dmitrygavrovsky5938 2 роки тому +2

    Could you please explain why are you using vscode but not neovim ?

    • @anthonygg_
      @anthonygg_  2 роки тому

      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.

    • @dmitrygavrovsky5938
      @dmitrygavrovsky5938 2 роки тому +1

      @@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 :)

    • @anthonygg_
      @anthonygg_  2 роки тому

      @@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 😆

  • @hebozhe
    @hebozhe 6 місяців тому

    Name your return values, especially if you're returning multiple things.

  • @eastquack3342
    @eastquack3342 2 роки тому +1

    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

  • @miyuonline
    @miyuonline Рік тому

    20:00

  • @pgtrots
    @pgtrots 9 місяців тому +1

    Jfc that "enum" is pure trash. Sort it out, go.

    • @thisisreallyme3130
      @thisisreallyme3130 3 місяці тому

      Also trash: the “fat girl” jokes.
      Some of us work with (and appreciate) women who code.

  • @flflflflflfl
    @flflflflflfl 2 роки тому +4

    Great video, thanks! Your pronunciation of idiomatic is not very idiomatic, though ;)

    • @anthonygg_
      @anthonygg_  2 роки тому +2

      You have no idea how many language errors I made in that video. Not my best day. 😥

    • @flflflflflfl
      @flflflflflfl 2 роки тому

      @@anthonygg_ Don't worry, everyone knows it's not your first language

    • @cavila0217
      @cavila0217 2 роки тому

      @@anthonygg_ thanks for sharing your experience with us. Bro, Where are you from? Greetings from Colombia!

  • @DM-pg4iv
    @DM-pg4iv 11 місяців тому

    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.

  • @shanerigsby9030
    @shanerigsby9030 9 місяців тому

    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.

  • @electronicXtacy
    @electronicXtacy 10 місяців тому

    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.