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

上手なPRと機能要望の勘所

 上手なPRと機能要望の勘所

Lightning Talk in WED Crafters Night, 2023-06-14

Akinori MUSHA

June 14, 2023
Tweet

More Decks by Akinori MUSHA

Other Decks in Technology

Transcript

  1. WED Crafters Night ෢ऀ থل (Musha Akinori) • Senior Expert

    (Web) at WED, Inc. ◦ Software Architect (API, DB, App, System Infrastructure) • GitHub, Twitter: @knu • Ruby Committer (2000-), Huginn co-maintainer, FreeBSD ex- committer • Ruby, JavaScript/TS, Go; Lua, Elisp, Zsh, C 2 ࣗݾ঺հ 
 Who's speaking
  2. WED Crafters Night Contents 01 ൑அʹඞཁͳࡐྉΛఏڙ͠Α͏
 Help reviewers make an

    informed decision 02 খ͍͞είʔϓͰಥഁ͠Α͏
 Keep issue scope small 03 ޓ׵ੑΛܰࢹ͠ͳ͍ɺॏࢹ΋͗͢͠ͳ͍
 Do not underestimate nor overestimate compatibility 04 ϨϏϡϫʔͷؾΛࢄΒ͞ͳ͍
 Never distract reviewers 05 ·ͱΊ
 Wrap-up 3
  3. WED Crafters Night ռΊ💡 • ໊લ͸ॏཁɻͰ΋ɺͰ͖Ε͹໊͔͍͍ͬ͜લΛʮൃ໌ʯ͠ͳ͍͜ͱɻ 
 ଞͷࣄྫʹ฿͓͏ɻΈΜͳͷ಄ʹ͢Ͱʹ͋ΔطଘͷޠኮΛ׆༻͠Α͏ɻ 
 •

    Ϣʔεέʔε͸ͱʹ͔͘େࣄɻͻͨ͢Βʹݱ࣮త͔ͭΤϨΨϯτͳྫΛࣔ͠ɺͦΕ ͕ͳ͍৔߹ͷΞυϗοΫͳίʔυͱରൺͤ͞Α͏ɻ 
 • ֎ͷੈք͕Ͳ͏ͳ͍ͬͯΔ͔͸ϨϏϡϫʔ΋ҙ͍ࣝͯ͠ΔɻҰํͰϥΠόϧ͕͜͏ ͔ͩΒɺ͚ͩͩͱఢጊ৺ΛἤΔ͜ͱʹ΋ͳΔͷͰɺ޿͘ྫΛऩू͠Α͏ɻ 6 ൑அʹඞཁͳࡐྉΛఏڙ͠Α͏ Help reviewers make an informed decision
  4. WED Crafters Night ռΊ💡 • ਓͷϦΫΤετʹ৐͔ͬͬͯզాҾਫ͠ͳ͍ɻ·ͯ͠ɺΑΓ೉қ౓ͷߴ͍໰୊ʹ͢Γସ͑ͳ͍ɻγ ϯϓϧͳղܾʹूத͠Α͏ɻ 
 • ೉͍͠ίʔφʔέʔε͸୨্͛ͯ͠΋͍͍ɻΤϥʔΛग़͢Α͏ʹ͓͍ͯͯ͠ɺޙͰରԠ͢Δͷ΋खɻ

    
 • ରশੑ͕͋Δͱ͔ཧ࿦తʹඒ͍͠ͱ͔͸͋͘·ͰϢʔεέʔεͷิڧʹ࢖͏΋ͷɻҝʹ͢Δ͚ͩͷ ཁ๬͸ආ͚Α͏ɻ"YAGNI" 
 • RubyຊମʹRails (ActiveSupport)ͷػೳΛΠϯϙʔτ͢ΔࡍͳͲ͸৻ॏʹۛຯͯ͠ɺRubyͷྲّྀ ʹ߹Θͳ͍෦෼͸ࣺͯͭͭগͣͭ͠औΓࠐΜͰ͍Δɻ 
 
 ྫɿHash#slice, except 10 খ͍͞είʔϓͰಥഁ͠Α͏ Keep issue scope small
  5. WED Crafters Night ޓ׵ੑͷഁյ͸ΈΜͳ͕ݏ͏ɻ • Ϣʔβʔ͸΋ͪΖΜɺϢʔβʔͨͪͷલʹཱͭϝϯςφʔ΋ɻ • ͍͘Βϓϥε͕େ͖ͯ͘΋ɺطଘͷΞϓϦΛյ͢ϚΠφε͸༊΍͞Εͳ͍ɻ • չ͍͕͠ɺաڈͷઃܭͷࣦഊ͸௚ͤͳ͍͜ͱ΋ଟ͍ɻ

    ຊ࣭తʹ͸ɺόάमਖ਼ΛؚΊͯ͢΂ͯͷมߋ͸ޓ׵ੑʹӨڹ͢Δɻ • ์ஔ͞Εଓ͚ͨόά͸Ϣʔβʔʹͱͬͯ͸࢓༷Ͱ͋ΓɺͦΕʹґଘ͢Δίʔ υͩͬͯ͋Δɻ 12 ޓ׵ੑΛܰࢹ͠ͳ͍ɺॏࢹ΋͗͢͠ͳ͍ 
 Do not underestimate nor overestimate compatibility
  6. WED Crafters Night ռΊ💡 • ৽͍͠όʔδϣϯʢAPIʣʹ௥Ճ͞ΕͨػೳΛݹ͍ํʹ΋όοΫϙʔτ͢ Δͷ͸ɺ৽͍͠΋ͷΛ࢖͏ΠϯηϯςΟϒΛݮΒͯ͠ҠߦΛ஗ΒͤΔ͜ ͱʹ΋ͳΔɻ Ruby 1.8→1.9ͷҠߦظʹ͸೉͍͠൑அ͕ඞཁͩͬͨ🥺

    
 • Ϣʔεέʔε͸ਪଌͰͳ࣮͘ࡍʹௐ΂Α͏ɻRubyͷ։ൃʹ͓͍ͯ͸ɺ͢ ΂ͯͷެ։gemͷιʔεΛίʔυαʔνͯ͠ௐ͍ࠪͯ͠Δɻ 14 ޓ׵ੑΛܰࢹ͠ͳ͍ɺॏࢹ΋͗͢͠ͳ͍ 
 Do not underestimate nor overestimate compatibility
  7. WED Crafters Night • ίʔυ͕੔͍ͬͯΔ͜ͱ͸େࣄɻ͜ͷ੔͍ͬͯΔͱ͸ɺελΠϧΨΠυ΍पลߦͷ ελΠϧʹԊ͍ͬͯΔ͜ͱɻͦ͜Ͱࣗ෼ͷඒҙࣝ͸ԡ͠ग़͞ͳ͍ɻ 
 • CIͷΤϥʔ΍lintܯࠂ͕ग़ͨΒɺશ෦௵͔ͯ͠ΒվΊͯϨϏϡʔґཔ͠Α͏ɻ 


    • ϨϏϡʔதͷrebase΍squash͸ϓϩδΣΫτͷश׳΍ϨϏϡϫʔͷࢦࣔʹै͓ ͏ɻແஅͰsquash͢Δͱؾ෼Λ֐͢Δਓ΋͍Δ͠ɺ͖Ε͍ʹ੔ཧɾ෼ׂ͞Εͨί ϛοτΛॱʹಡΉͷΛ޷Ήਓ΋͍Δɻ 
 • ࣮૷ํ๏΍ํ਑ʹ͍ͭͯΘ͔Βͳ͍͜ͱɺܾΊͯ΄͍͜͠ͱ͸ੵۃతʹϨϏϡϫʔ ʹฉ͜͏ɻ࣭໰ʹରౖͯ͠Δਓ͸͍ͳ͍ɻ 16 ϨϏϡϫʔͷؾΛࢄΒ͞ͳ͍ 
 Never distract reviewers
  8. WED Crafters Night ռΊ💡 • git add -p ΍ΤσΟλͷ෦෼εςʔδػೳΛ͏·͘࢖ͬͯɺελΠϧमਖ਼ ΍ϦϑΝΫλϦϯάɺCI΍Ϗϧυ༻ͷมߋͱػೳతมߋͷίϛοτΛ෼͚

    Α͏ɻػೳ࣮ݱʹඞਢͰͳ͍มߋ͸ɺϝϯςφʔͷઐݖࣄ߲ͳͷͰඞཁ࠷ খݶʹ͢Δɻ 
 • ࣗ෼ͷཁ๬ʹ৐͔ͬͬͯείʔϓΛ޿͛Δਓ͕ग़͖ͯͨΒܯռ͠Α͏ɻཧ ղऀ͕ݱΕͨͱتΜͰ҆қʹܴ߹ͯ͠͠·Θͳ͍͜ͱɻͦΕ͸ผʹissue Λ্͛ͯɺͱಥ͖์͢ͷ΋େࣄɻ 17 ϨϏϡϫʔͷؾΛࢄΒ͞ͳ͍ 
 Never distract reviewers
  9. WED Crafters Night • Ͳ͏ͨ͠ΒϨϏϡϫʔ͕͍͍Ͷͱݴ͍΍͍͔͢ɺؾ࣋ͪΑ͘approveͰ͖Δ ͔ɺਅ伨ʹਓͷؾ࣋ͪʹͳͬͯߟ͑ΔɻਓؒΛ૬खͱ͢Δ೉͠͞Λָ͠΋ ͏ɻ • ͱʹ͔͘ਅ໘໨ͳϦαʔν͕େࣄɻࣗ෼͕ΠγϡʔΛൃݟͨ͠ஈ֊ͰΑ͘ ௐ΂Δɻ੎͍Ͱ࣮૷ͯ͠͠·ͬͯ΋ɺػೳཁ๬Λग़͢ͱ͖ʹվΊͯݚڀ͢

    Δɻ • େ͖ͳ໰୊͸খ͘͞෼ղ͢Δɻ୯ʹ෦෼ʹ෼͚Δ͚ͩͰͳ͘ɺߏ଄΍ػߏ Λൈ͖ग़͢ɻૣ͘औΓࠐ·Ε͚ͨΕ͹ඞਢͰͳ͍΋ͷΛେ୾ʹ࡟͗མͱ͢ɻ • ܁Γฦ͠޻෉ͯ͠ɺࣗ෼ͷఏҊ͕࣮݁͢Δୡ੒ײΛຯΘ͍ͬͯͩ͘͞ʂ 19 ·ͱΊ 
 Wrap-up