ライブコーディングでわかるテスト駆動開発

 ライブコーディングでわかるテスト駆動開発

2018年4~5月開催「ブートキャンプ特別講座」の資料になります。

Eea9a05e6e222a3d50c73f54a49fadf4?s=128

Recruit Technologies

July 19, 2018
Tweet

Transcript

  1. ϥΠϒίʔσΟϯά ͰΘ͔Δ ςετۦಈ։ൃ ࿨ా୎ਓ "QS !ϦΫϧʔτςΫϊϩδʔζ

  2. UXBEB U@XBEB UXBEB ࿨ా୎ਓ

  3. ؂मɺ؂༁ɺ຋༁ͨ͠ຊͨͪ

  4. 最近の立ち位置 ελϯυ໊ϫΠϧυɾαόϯφ

  5. assert(typeof item.id === 'strong') | | | | | |

    | false | | "foo" | Item{id:"foo",name:"bar"} "string" --- [string] 'strong' +++ [string] typeof item.id @@ -1,6 +1,6 @@ str -o +i ng power-assert IUUQTHJUIVCDPNQPXFSBTTFSUKTQPXFSBTTFSU
  6. ΑΖ͓͘͠ئ͍͠·͢

  7. ࠓ೔ ΍Δ͜ͱ

  8. 5%%ʹ͍ͭͯͷߨԋ

  9. ϖΞϓϩάϥϛϯά

  10. ίʔυϨϏϡʔେձ

  11. ςετۦಈ։ൃ ͱ͸Կ͔

  12. None
  13. ʮಈ࡞͢Δ͖Ε͍ͳίʔυʯɻ3PO+F⒎SJFT ͷ͜ͷ؆ܿͳݴ༿͕ɺςετۦಈ։ൃʢ5%%ʣ ͷΰʔϧͩɻಈ࡞͢Δ͖Ε͍ͳίʔυ͸͋Β ΏΔҙຯͰՁ஋͕͋Δɻ ᴷ,FOU#FDL ʰςετۦಈ։ൃʱ·͕͖͑

  14. ಈ࡞͢Δɺ͖Ε͍ͳίʔυ΁ ͖Ε͍ Ԛ͍ (͙͢ʹ͸)ಈ͔ͳ͍ ಈ࡞͢Δ ೋͭͷಓ͕͋Δ

  15. 5%%ͷαΠΫϧ 1.࣍ͷ໨ඪΛߟ͑Δ 2.ͦͷ໨ඪΛࣔ͢ςετΛॻ͘ 3.ͦͷςετΛ࣮ߦࣦͯ͠ഊͤ͞Δ 3FE  4.໨తͷίʔυΛॻ͘ 5.Ͱॻ͍ͨςετΛ੒ޭͤ͞Δ (SFFO 

    6.ςετ͕௨Δ··ͰϦϑΝΫλϦϯάΛߦ ͏ 3FGBDUPS  7.̍ʙΛ܁Γฦ͢
  16. ͖Ε͍ Ԛ͍ (͙͢ʹ͸)ಈ͔ͳ͍ ಈ࡞͢Δ Red Green Refactoring 5%%ͱԫۚͷճస

  17. IUUQXXXQMBOFUHFFLDIXQDPOUFOUVQMPBET"5%%DZDMFQOH

  18. 8IZ ސ٬͸ԿނͦΕΛཉ ͍ͯ͠Δͷ͔ 8IBU ԿΛ࡞Ε͹ ྑ͍ͩΖ͏͔ )PX Ͳ͏࡞Ε͹ ྑ͍ͩΖ͏͔ සൟͳϦϦʔεͱσϞ

    ड͚ೖΕςετ Ϣχοτςετ Ӭ࿨γεςϜϚωδϝϯτՈӬࢯͷࢿྉΑΓ
  19. σϞ

  20. Write a program that prints the numbers from 1 to

    100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”. ͔Β·Ͱͷ਺ΛϓϦϯτ͢ΔϓϩάϥϜΛॻ͚ɻͨ ͩ͠ͷഒ਺ͷͱ͖͸਺ͷ୅ΘΓʹň'J[[ʼnͱɺͷഒ਺ͷ ͱ͖͸ň#V[[ʼnͱϓϦϯτ͠ɺͱ྆ํͷഒ਺ͷ৔߹ʹ͸ ň'J[[#V[[ʼnͱϓϦϯτ͢Δ͜ͱɻ http://tickletux.wordpress.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/ http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm FizzBuzz問題
  21. ʰY6OJU5FTU1BUUFSOTʱΑΓ ςετͷϝϯςφϯείετ ཧ૝ ݱ࣮

  22. HJIZPKQͷ࿈ࡌ ʰʦಈըͰղઆʧ࿨ా୎ਓͷlςετۦಈ։ൃzߨ࠲ʱ IUUQHJIZPKQEFWTFSJBMUEE શճ͢΂ͯಈը෇͖ղઆ χίχίಈըͰ΋ݟΕ·͢ 8&# %#աڈهࣄͷಛઃαΠτͱಈը΋

  23. w໰୊Λখ͘͞෼ׂ͢Δ wา෯Λௐ੔͢Δ wςετˠԾ࣮૷ˠࡾ֯ଌྔˠ࣮૷ wςετˠԾ࣮૷ˠ࣮૷ wςετˠ໌നͳ࣮૷ wςετͷߏ଄ԽͱϦϑΝΫλϦϯά TDDのスキル

  24. υϥΠόʔ φϏήʔλʔ 2人で1つのマシン、1つのキーボード ペアプログラミング

  25. ࡞ۀΛܾΊΔ ࠷ॳͷ໨ඪΛܾΊΔ ύʔτφʔΛཔΓʹ͠ɺࢧ͑ͯ΍Δ ஻Δ ͓ޓ͍ԿΛ΍͍ͬͯΔ͔೺Ѳ͢Δ تͿ ަ୅͢Δ ペアプログラミングのやりかた IUUQXXXIZVLJDPNZVLJXJLJXJLJDHJ "%""""%"&%"#"&"%'"'"#"$&"&"&"""#"#'

  26. 大きいディスプレイ(指差し重要) ドライバーの前にキーボード

  27. Thinking out loud: 考えを声に出す

  28. '"2

  29. ςετͷແ͍ίʔυ͕ طʹͨ͘͞Μ͋Δ

  30. w ʮϨΨγʔίʔυͷδϨϯϚʯ w lίʔυΛมߋ͢ΔͨΊʹ͸ςετΛ੔උ͢Δ ඞཁ͕͋Δɻଟ͘ͷ৔߹ɺςετΛ੔උ͢Δ ͨΊʹ͸ɺίʔυΛมߋ͢Δඞཁ͕͋Δz w ϨΨγʔίʔυʹ৮ΔͨΊͷ
 ޠኮͱٕ๏Λ੔ཧͨ͠ຊ w

    TUBDLPWFSqPXDPN͔Βͷ
 ඃݴٴ਺ୈҐ ϨΨγʔίʔυվળΨΠυ
  31. w ϨΨγʔίʔυվળΨΠυΑΓ΍΍ந৅౓͕ߴ͍ w ιϑτ΢ΣΞͷϦΤϯδχΞϦϯάΛߦ͏ͭͷબ ୒ࢶΛ͍ࣔͯ͠Δ w ϦϑΝΫλϦϯά w ϦΞʔΩςΫςΟϯά w

    ϏοάɾϦϥΠτ ϨΨγʔιϑτ΢ΣΞվળΨΠυ
  32. Ͳ͜·Ͱςετ͢Ε͹Α͍ͷ͔

  33. None
  34. ݱ࣮ͷγεςϜ͸΋ͬͱෳࡶ

  35. None
  36. w໰୊Λখ͘͞෼ׂ͢Δ wา෯Λௐ੔͢Δ wςετˠԾ࣮૷ˠࡾ֯ଌྔˠ࣮૷ wςετˠԾ࣮૷ˠ࣮૷ wςετˠ໌നͳ࣮૷ wςετͷߏ଄ԽͱϦϑΝΫλϦϯά TDDのスキル ご清聴ありがとうございました