Important Tips On How To Write Idiomatic Code In Golang

Поделиться
HTML-код
  • Опубликовано: 4 фев 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 RUclips 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 !!

  • @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.

  • @nsgirish
    @nsgirish Год назад +1

    Excellent and very valuable points. Thanks sir

  • @tpotjj2979
    @tpotjj2979 2 года назад +1

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

  • @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!

  • @ralphlorenzo9473
    @ralphlorenzo9473 Год назад +1

    I love your sense of humor 😂

  • @marcosissler
    @marcosissler 11 месяцев назад

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

  • @WomboBraker
    @WomboBraker 2 месяца назад

    this is immensely helpful. holy heck

  • @jondoe79
    @jondoe79 2 года назад +1

    Keep them coming, the best go tutor 👍

  • @thefrazz
    @thefrazz Год назад +1

    Awesome! Writing idiomatic code instead of idiotic code!

  • @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.

  • @vaishnavdeore2980
    @vaishnavdeore2980 9 месяцев назад

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

  • @larrasket
    @larrasket 2 года назад +1

    I fcking love your videos man

  • @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.

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

  • @Patrickdaawsome
    @Patrickdaawsome Год назад

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

  • @adjustyourtone
    @adjustyourtone Год назад

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

  • @CawaKharkov
    @CawaKharkov Год назад

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

  • @АлександрЗверев-й1х
    @АлександрЗверев-й1х 2 года назад +1

    Thanks a lot!

  • @bartoszgoebiowski1538
    @bartoszgoebiowski1538 7 месяцев назад

    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!

  • @UmarFarooq-un6jm
    @UmarFarooq-un6jm Месяц назад

    Can you please start a playlist for grpc.

  • @tnvmadhav2442
    @tnvmadhav2442 2 года назад +1

    Love it!!

  • @abhishek--absh
    @abhishek--absh Год назад

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

  • @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 ?

  • @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.

  • @_q1b_
    @_q1b_ 2 года назад +1

    Thanks you 💘

  • @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.

  • @Nexjsdeveloper
    @Nexjsdeveloper Год назад +1

    Tnx.

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

  • @pukito9123
    @pukito9123 Год назад +1

    awesome

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

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

  • @hebozhe
    @hebozhe 7 месяцев назад

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

  • @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.