Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Otemachi.go #1 CodeReviewComments

Otemachi.go #1 CodeReviewComments

大手町.go #1 にてCodeReviewCommentsについて発表した際のスライドです。
Goのコードレビュー時によくみかけられるコメントがリスト化されたCodeReviewCommentsについて、いくつかピックアップして説明しています。

Otemachi.go #1
https://otemachi-go.connpass.com/event/122418/

CodeReviewComments
https://github.com/golang/go/wiki/CodeReviewComments

8b3f1b20986cc7aa484c18da9affdc18?s=128

Ryo Nonoyama

March 20, 2019
Tweet

Transcript

  1. . # # 1

  2.   • 3ZP/POPZBNB • -JRVJE *OD JOେखொϏϧ • 3VCZ3BJMT

    d • 5ZQF4DSJQU7VFKT d • (PMBOH d
  3.       

  4.       • "5PVSPG(P • IUUQTUPVSHPMBOHPSH

    • )PXUP8SJUF(P$PEF • IUUQTHPMBOHPSHEPDDPEFIUNM • &GGFDUJWF(P • IUUQTHPMBOHPSHEPDFGGFDUJWF@HPIUNM • ͳͲͳͲͦͷଞଟ਺
  5.    ͜ͷίϝϯτͰ XJLJͷ$PEF3FWJFX$PNNFOUT ͷଘࡏΛ஌Δ

  6.       • (PMBOHͷίʔυϨϏϡʔͰΑ ͘ݟ͔͚ΒΕΔίϝϯτू •

    &GGFDUJWF(PΛิ͏Α͏ͳυ Ωϡϝϯτͱͯ͠ଘࡏ͢Δ • ن໿͚ͩͰͳ͘ɺϦʔμϒϧ ίʔυʹ௨͡ΔΑ͏ͳ߲໨΋ ͋Δ IUUQTHJUIVCDPNHPMBOHHPXJLJ$PEF3FWJFX$PNNFOUT
  7.       • શ෦Ͱ໿߲໨ • ͦͷத͔Β͍͔ͭ͘ϐοΫΞοϓͯ͠ಡΜͰΈ·ͨ͠

    • *OJUJBMJTNT • )BOEMF&SSPST • %FDMBSJOH&NQUZ4MJDFT • 3FDFJWFS5ZQF
  8. None
  9. • ม਺໊ͷதʹ͋Δ಄ࣈޠ΍ུޠʢz63-z l*%zͳͲʣͷදه ʹ͸ɺҰ؏ੑΛ΋ͨͤΔ େจࣈখจࣈ͍ͣΕ͔Ͱ౷Ұ • º *E VTFS*E •

    ˓ *% VTFS*% • HPMJOU͕ࢦఠͯ͘͠ΕΔ಄ࣈޠུޠ͸ޠऑ  • ϓϩδΣΫτ಺Ͱɺ಄ࣈޠུޠΛ࢖͍ͬͯΔ৔߹ʹ͸͜ͷ ϧʔϧͰ౷ҰΛ͢Δ • ࠓͷϓϩδΣΫτ಺ͩͱl,:$zLOPXZPVSDVTUPNFSͱ͔͋Γ·͢ IUUQTHJUIVCDPNHPMBOHMJOUCMPCNBTUFSMJOUHP-
  10. None
  11. • ؔ਺͸ଟ஋ฦ٫ՄೳͰɺΤϥʔ͕ฦ٫͞ΕΔ৔߹͕͋Δ • ͦͷͱ͖ @ ΞϯμʔείΞ Ͱແࢹ͢Δ͜ͱ͕ग़དྷͯ͠·͏͕ɺ ΤϥʔΛѲΓͭͿͯ͠͠·͏ͷ͸Α͘ͳ͍

  12. • ؔ਺͔ΒΤϥʔ͕ฦ٫͞Εͨ৔߹ɺؔ਺Ͱͷॲཧ͕੒ޭͨ͠ ͔ΤϥʔΛඞͣ֬ೝ͢Δ

  13. . 1

  14. .1 • TMJDFΛએݴ͢Δͱ͖ɺҰൠతʹ͸஋͕OJMͱͳΔΑ͏ʹએݴ ͢Δͷ͕ྑ͍ • ্ͷએݴํ๏ͩͱɺϝϞϦͷΞϩέʔγϣϯ͕ߦΘΕͳ͍ͨ ΊύϑΥʔϚϯεΛߟྀͨ͠ͱ͖ʹྑ͍ͱ͞Ε͍ͯΔ

  15. .1 • ͨͩ͠ɺ௕͞ͷOPOOJM஋͕ྑ͍έʔε΋ଘࡏ͢Δ • ྫ͑͹KTPOΛग़ྗ͢Δͱ͖ɺOJMͷεϥΠεΛKTPO.BSTIBM ʹ ౉͢ͱ OVMMʹΤϯίʔυ͞ΕΔ͕ɺ z<>zΛಘ͍ͨ৔߹ͳͲ

  16. None
  17. • ϝιουΛݺͼग़͞ΕΔର ৅ͷ͜ͱΛϨγʔόͱݺͿ • ϝιουͷϨγʔόΛ ϙΠϯλϨγʔόʹ͢Δ͔ ஋Ϩγʔόʹ͢Δ͔Ͳ͏͔ ͷ൑அ͸೉͍͠ʢಛʹॳֶ ऀʹ͸ʣ •

    ൑அʹࠔͬͨͱ͖ͷͨΊͷ ΨΠυϥΠϯ͕ࣔ͞Ε͍ͯ Δ
  18. 4 - 1 . • ϙΠϯλϨγʔόΛ࢖͏ • ߏ଄ମ΍഑ྻ͸஋ܕͷͨΊɺ஋ϨγʔόΛ࢖͏ͱ஋Λϝιο υʹ౉͢ࡍʹίϐʔ͢ΔͨΊͷίετ͕େ͖͘ͳΔ •

    ͦͷͨΊɺϙΠϯλͰ౉͢ͱίετ͕খ͘͞ࡁΉ
  19. 1-. 2 9 4 • ϙΠϯλϨγʔόΛ࢖͏ • ஋Ϩγʔόͷ৔߹͸ɺϝιουΛݺͼग़͢ͱ͖ʹม਺ͷ஋Λί ϐʔͯ͠ɺ৽ͨͳ஋Λϝιουʹ౉͢ •

    ৽ͨͳ஋͕ϝιου಺Ͱมߋ͞Εͨͱͯ͠΋ɺݩͱͳͬͨ஋͸ มߋ͞Εͣ໨తΛՌͨͤͳ͍ͨΊɺ͜ͷέʔεͰ͸Ϩγʔό͸ ϙΠϯλͱ͢Δɻ
  20. 0-3. 42 / • ஋ϨγʔόΛ࢖͏ • NBQ͸࿈૝഑ྻɺGVOD͸ؔ਺஋ GVODUJPOWBMVF ɺνϟω ϧ͸ΰϧʔνϯؒͰϝοηʔδΛૹΓ߹͏ࡍʹ࢖ΘΕΔ

    • ͜ΕΒ͸͢΂ͯࢀরܕͰ͋ΔͨΊɺ࣮ମ΁ͷϙΠϯλΛ࣋ͬ ͍ͯΔͱߟ͑ͯྑ͍ • ͦͷͨΊɺ͜ΕΒʹϙΠϯλϨγʔόΛ࢖͏ͱɺϙΠϯλ΁ ͷϙΠϯλΛ౉͍ͯ͠ΔΑ͏ͳঢ়ଶͱͳΔͨΊϙΠϯλࢀর ͷෛՙ͕͔͔ͬͯ͠·͏ɻ • ΑͬͯɺϨγʔό͕ࢀরܕͰ͋Δ৔߹͸ϙΠϯλΛ࢖͏΂͖ Ͱ͸ͳ͍
  21.  

  22.   • $PEF3FWJFX$PNNFOUT͸5JQT΍1SBDUJDF෩ • ͦΕ͕ʮͳͥʯͳͷ͔ɺղઆ͕ͳ͍΋ͷ΋͋Δ • ͦͷཧ༝Λཧղͤͣʹํ๏͚ͩ஌࣮ͬͯફͯ͠΋ɺ΋΍΋΍͕ ࢒Δؾ͕͢Δ ʮͳͥʯͳͷ͔̍ͭͣͭਂ۷Γ͍ͯ͘͜͠ͱͰ

    ཧղ͕ਂ·Γͦ͏ʂ
  23.      • $PEF3FWJFX$PNNFOUT • IUUQTHJUIVCDPNHPMBOHHPXJLJ$PEF3FWJFX$PNNFOUT •

    $PEF3FWJFX$PNNFOUT ೔ຊޠ༁ • IUUQTRJJUBDPNLOTIJUFNTCCDED • 2JJUB(PͰYYYͷϙΠϯλΛऔ͍ͬͯΔϓϩάϥϜ͸͍͍ͩͨશ෦ؒҧ͍ͬͯΔ • IUUQTRJJUBDPNSVJVJUFNTFBBFGGEDDE • ܕͱϙΠϯλΛ෼͔Γ΍͘͢ղઆɻ஋ܕͱࢀরܕʹ͍ͭͯ΋ղઆ͍ͯ͠·͢ɻ • IUUQOBTVTUIBUFOBCMPHDPNFOUSZ • 2JJUBۭͷ4MJDFͷએݴํ๏ͷҧ͍ • IUUQTRJJUBDPNCJPIVOTJUFNTEBB • 2JJUB(P ύϑΥʔϚϯενϡʔχϯά • IUUQTRJJUBDPNOBPJOBJUFNTEEEGBCGCG ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ