Slide 1

Slide 1 text

ςετΛॻ͔ͳ͍ ݴ͍༁Λͤͯ͘͞Ε by takasek 2017/3/13 iOS Test Night #3 1

Slide 2

Slide 2 text

Unit Test ॻ͖ͨ͘ͳ͍ Ͱ͟͝Δ…ʂ 2

Slide 3

Slide 3 text

ςετॻ͖ͨ͘ͳ͍ཧ༝ᶃ ςετϑΝΠϧ΁ͷڑ཭͕ԕ͍ ։͚ͩ͘Ͱ΋ΊΜͲ͍ ԟ෮͢Δͷ͸΋ͬͱΊΜͲ͍ 3

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

ਖ਼ؾ͔!? 5

Slide 6

Slide 6 text

" ຊ൪ίʔυͱςετίʔυΛߦͬͨΓདྷͨΓ͢ ΔͨΊʹɺσΟϨΫτϦߏ଄Λ্͕ͬͨΓԼ͕ͬ ͨΓ͠ͳ͚Ε͹ͳΒͳ͍ͱͨ͠Βɺ࡞ۀͷͨͼʹ ·ΔͰ੫ۚΛ෷͍ͬͯΔ͔ͷΑ͏ʹࢥ͑ͯ͠·͏ ͜ͱͰ͠ΐ͏ɻ" ɹɹɹɹɹɹ- ϨΨγʔίʔυվળΨΠυ P243 6

Slide 7

Slide 7 text

ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ- ϨΨγʔίʔυվળΨΠυ P242 7

Slide 8

Slide 8 text

ଓʑͱಧ͘ɺ೤͍ڞײͷ੠ʂ 8

Slide 9

Slide 9 text

Ͱ΋ ݱ࣮͸ ͜ΕͰ͢ 9

Slide 10

Slide 10 text

͜͏͍͏ϓϩδΣΫτͳΜͯɺݟͨ͜ͱͳ͍ 10

Slide 11

Slide 11 text

͜͏͍͏ϓϩδΣΫτͳΜͯɺݟͨ͜ͱͳ͍ ɹɹɹɹɹɹɹɹɹ…΍ͬͯΔਓɺ͍·͔͢ʁ 11

Slide 12

Slide 12 text

!௥ه! ձ৔ʹ͍ͨ100ਓ௒ͷࢀՃऀதɺ ڍखͨ͠ͷ͸0ਓͰͨ͠ɻ 12

Slide 13

Slide 13 text

! 13

Slide 14

Slide 14 text

ςετॻ͖ͨ͘ͳ͍ཧ༝ᶄ ςετ͸ෛ࠴ʹͳΓ͏Δ ࢓༷΍ΠϯλϑΣʔε͝ͱ ίϩίϩมΘΔίʔυʹରͯ͠ͷςετ ͱͯ΋ͭΒ͍ 14

Slide 15

Slide 15 text

҆ఆґଘͷݪଇʢSDPʣ "The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is. " 1 ύοέʔδͷґଘؔ܎͸ɺ҆ఆੑͷํ޲ʹґΒͳ͚Ε͹ͳΒͳ͍ɻ ύοέʔδ͸ɺΑΓ҆ఆͨ͠ύοέʔδʹͷΈґଘ͢΂͖ͩɻ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹ- Robert C. Martin 1 Stable Dependencies Principle http://wiki.c2.com/?StableDependenciesPrinciple 15

Slide 16

Slide 16 text

ͳΜͰςετίʔυ͸ ෆ҆ఆͳϓϩμΫτίʔυʹ ੵۃతʹґଘ͠ʹ͍ͬͯΔͷ…ʁ 16

Slide 17

Slide 17 text

ࣗಈςετͷಈػ ❌ ಈ࡞৚݅ΛਓͷखͰ؅ཧɾ೺Ѳ͠ɺ ෆਖ਼ಈ࡞͸ϏϧυޙʹखಈͰ஄͘ 17

Slide 18

Slide 18 text

ࣗಈςετͷಈػ ❌ ಈ࡞৚݅ΛਓͷखͰ؅ཧɾ೺Ѳ͠ɺ ෆਖ਼ಈ࡞͸ϏϧυޙʹखಈͰ஄͘ ⭕ ಈ࡞৚݅Λςετίʔυʹॻ͖ɺ ෆਖ਼ಈ࡞͸ϏϧυϑΣʔζͰࣗಈͰ஄͘ 18

Slide 19

Slide 19 text

ࣗಈςετͷಈػɺͦͷઌ ❌ ಈ࡞৚݅ΛਓͷखͰ؅ཧɾ೺Ѳ͠ɺ ෆਖ਼ಈ࡞͸ϏϧυޙʹखಈͰ஄͘ ⭕ ಈ࡞৚݅Λςετίʔυʹॻ͖ɺ ෆਖ਼ಈ࡞͸ϏϧυϑΣʔζͰࣗಈͰ஄͘ # ಈ࡞৚݅ΛϓϩμΫτίʔυʹॻ͖ɺ ෆਖ਼ಈ࡞͸ϏϧυલʹࣗಈͰ஄͘ 19

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

ςετͰಈ࡞อূ͠ͳ͚Ε͹ ҆৺Ͱ͖ͳ͍ίʔυΛ ॻ͍ͯΔͷ͕ ѱ͍ɻ 21

Slide 22

Slide 22 text

TDD Red-Green-Refactor !→✅→# 22

Slide 23

Slide 23 text

ίϯύΠϧΤϥʔ͸ ΋ͬͱ΋ଈϨεͳ !Red 23

Slide 24

Slide 24 text

ͦͷςετ ୅ΘΓʹܕઃܭͰ ͳΜͱ͔Ͱ͖ͳ͍ʁ 24

Slide 25

Slide 25 text

4 ڍಈ͕มԽ͢ΔͳΒ ɹϙϦϞʔϑΟζϜͰந৅Խ͢Δͱ͔ 4 ਖ਼͘͠ͳ͍஋͕ೖΓ͏ΔͳΒ ɹܕʹแΜͰfailable initializerΛ࢖͏ͱ͔ 4 ࿈ಈͯ͠มԽ͢ΔϓϩύςΟ͸ ɹtupleʹవΊΔͱ͔ ɹenumͷassociated valueʹدͤΔͱ͔ 4 cf. Result ܕ 25

Slide 26

Slide 26 text

۩ମྫ͸লུ ੴ઒༸ࢿ (@_ishkawa) ͞Μͷ ஶॻʮSwift࣮ફೖ໳ʯͱ͔ kuniwak͞Μͷຊ೔ͷൃද ʮ։ൃΛޮ཰Խ͢Δςετͷ ɹσβΠϯύλʔϯʯͱ͔ try! Swiftͷൃද ʮUIΛSwiftyʹॻ͘ʯͱ͔2 2 UIΛSwiftyʹॻ͘ | try! Swift Tokyo 2017 #tryswiftconf Day1-10 ฉ͖ى͜͠ - niwatakoͷ͸ͯͳϒϩά http://niwatako.hatenablog.jp/entry/ 2017/03/02/160620 26

Slide 27

Slide 27 text

͔ͤͬ͘ͷܕ҆શݴޠͳΒ ಈ࡞ͷࣄલ৚݅Λ ܕઃܭʹدͤͯ ΑΓϩʔίετʹ ҆શΛखʹೖΕΑ͏Α 27

Slide 28

Slide 28 text

ͦΕͰ΋ ςετ͡Όͳ͖ΌอূͰ͖ͳ͍ ϩδοΫ͸ଟ͍…! ͦΜͳͱ͖ɺϓϩμΫτίʔυͱςετίʔυͱ ڑ཭ͷԕ͞͸΍͸ΓωοΫ → ஌ݟ͕ཉ͍͠ʂʂʂʂʂʂ 28

Slide 29

Slide 29 text

ࠓ೔ͷ݁࿦ iOS Test Night #4 Ͱ͸ ςετࣗମͷํ๏࿦͚ͩͰͳ͘ ςετͷίετͷԼ͛ํ ٻΉ! 29