テストを書かない言い訳をした結果wwwwwww

 テストを書かない言い訳をした結果wwwwwww

iOS Test Night #4 - connpass
https://testnight.connpass.com/event/54316/
での発表資料です。

発表中で紹介した、Xcodeで実装⇄テストファイルにジャンプするスクリプトはこちら。
https://github.com/takasek/XCJumpToTests

704056da9a4c4e075ad14479beaebab7?s=128

takasek

May 22, 2017
Tweet

Transcript

  1. ςετΛॻ͔ͳ͍ݴ͍༁Λ ͨ݁͠Ռ͆͆͆͆͆͆͆ by takasek 2017/5/22 iOS Test Night #4 1

  2. લճͷ ͋Β͢͡ 2

  3. 3

  4. 4

  5. 5

  6. 6

  7. 7

  8. 8

  9. ςετॻ͖ͨ͘ͳ͍ཧ༝ ·ͱΊ 9

  10. ςετॻ͖ͨ ͘ͳ͍ཧ༝ᶃ ςετϑΝΠϧ΁ ͷڑ཭͕ԕ͍ 10

  11. ςετॻ͖ͨ͘ͳ͍ཧ༝ᶄ ෛ࠴ʹͳΓ΍͍͢ "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 11
  12. ࠓ೔ͷτϐοΫ ཧ༝ᶃςετϑΝΠϧ΁ͷڑ཭͕ԕ͍ ɹ→ ͜Εʹର͢Δ൓Ԡͷ঺հɾରࡦΛ࿩͠·͢ɻ ཧ༝ᶄෛ࠴ʹͳΓ΍͍͢ ɹˠ ࣌ؒత౎߹Ͱࠓճ͸৮Ε·ͤΜɻ ɹɹ·ͨػձ͋Ε͹ɻ 12

  13. ! 13

  14. ςετϑΝΠϧ ΁ͷڑ཭͕ԕ ͍ͳΒ… ϑΝΠϧΛฒ΂ͯஔ͘ʁ ʮϨΨγʔίʔυվળΨΠ υʯʹ΋ਪ঑͞ΕͯΔΑɺ ͱલճ ࿩͠·ͨ͠ɻ 14

  15. લճൃද΁ͷ൓Ԡᶃ 15

  16. Ͱ΋ͳ͋… 16

  17. ͬͯঢ়گͩͱ ͦͷํ޲ʹ଩੾Δͷ͸…ɻ 17

  18. લճൃද΁ͷ൓Ԡᶄ 18

  19. XcodeͷγϣʔτΧοτΩʔ ࣮ࡍศརͳͷͰ֮͑Α͏ ⇧⌘Ο :ɹOpen Quickly ... (ΠϯΫϦϝϯλϧαʔν) ⌃⌘← :ɹGo Back

    (໭Δ) ⌃⌘→ :ɹGo Forward (ਐΉ) ⌘1ʙ3 :ɹNavigator(ࠨϖΠϯ)੾Γସ͑ ⌃{ / ⌃} :ɹShow Next/Previous Tab ⌃1 : Show Related Items (history΍sub/superclass౳) 19
  20. Ͱ΋ͳ͋… γϣʔτΧοτΩʔ͚ͩ͡Ό ଍Γͳ͍ΜͰ͢ΑͶ 20

  21. લճൃද΁ͷ൓Ԡᶅ 21

  22. ͦ͏ʂʂʂ ͦΕ͕ ͳ͍ΜͰ͢Α 22

  23. Ͱ΋ͳ͊… ݱঢ়(Xcode8.3)ͷ Xcode Source Editor Extension͡Ό ࢖͍෺ʹͳΒͳ͍͠ͳ͊… 23

  24. Ͱ΋ Ͱ΋ ݴ͍ա͗ͩͬͯʁ 24

  25. ࢓ํͳ͍ͳ! 25

  26. DEMO 26

  27. Ͳ͏΍ͬͯ࡞ͬͨʁ applescript × Xcode Custom Behavior 27

  28. applescript macOSͷεΫϦϓςΟϯάػߏ༻ݴޠɻ ΞϓϦέʔγϣϯ౳ͷϓϩηεʹ Apple eventΛૹΓίϯτϩʔϧ͢Δɻ Macඪ४ͷεΫϦϓτΤσΟλͰ ࡞੒ɾ࣮ߦɾॻग़Մೳɻ 28

  29. 29

  30. 30

  31. 31

  32. Xcode Behaviors Xcode࡞ۀதͷΠϕϯτΛτϦΨʔʹɺ Xcodeʹ೚ҙͷڍಈΛࢦࣔͰ͖Δɻ εΫϦϓτͷ࣮ߦ΋Մೳɻ 32

  33. 33

  34. 34

  35. ۤ࿑ͨ͠఺ᶃ ࠷ॳ͸Xcode Source Editor ExtensionͰ ͍͚Δ͔ͱࢥͬͨ ͚ͲɺϑΝΠϧΛލ͙ૢ࡞͸ෆՄೳͳͷͰ ເ͸ၪ͘௵͑ͨ WWDC2017Ͱͷ XcodeͷਐԽʹظ଴Ͱ͢Ͷ!

    35
  36. ۤ࿑ͨ͠఺ᶄ applescriptͷࢿྉ͕গͳ͍ ˍ ͍͍ͩͨݹ͍ ͜͏͍͏͜ͱ΍Γ͍ͨͱ͖ʹ͸ Keyboard Maestroʢ༗ঈΞϓϦʣͷ΄͏͕ ؾָ͕͔΋͠Εͳ͍ ഑෍·Ͱߟ͑Δͱϋʔυϧߴ͍͚Ͳ 36

  37. ۤ࿑ͨ͠఺ᶅ εΫϦϓτΤσΟλ͔Βͷॻ͖ग़͠ܗࣜ͸ෳ਺͋Δ͕ɺ Custom Behavior͔Βݺͼग़ͨ͢Ίʹ͸ίπ͕͍Δɻ 4 ΞϓϦ ( app = ୯ମ࣮ߦՄೳ)

    4 Behaviorʹ͸ࢦఆͰ͖ͳ͍ 4 ࣮ߦઐ༻όΠφϦ ( scptd = ୯ମ࣮ߦՄೳ) 4 Behavior͔ΒݺͿͱ Permission Denied ʹͳΔ 4 chmod +x ͯ͠΋ղܾͤͣ 4 ݰؔͱͯ͠γΣϧεΫϦϓτט·ͤΕ͹ಈ͘ 4 εΫϦϓτ ( scpt ) !͜Ε͕ਖ਼ղͬΆ͍ 4 scpt ϑΝΠϧʹ chmod +x ͯ͠୯ମ࣮ߦՄೳʹ͢Δ 4 scpt ϑΝΠϧͷ๯಄ʹshebangΛ͚ͭΔ"ɹ #!/usr/bin/osascript 37
  38. ࠓ೔ͷ·ͱΊ ςετΛॻ͔ͳ͍ݴ͍༁Λ ͨ݁͠Ռ… 38

  39. ࠓ೔ͷ·ͱΊ ςετΛॻ͔ͳ͍ݴ͍༁Λ ͨ݁͠Ռ… ςετͱ࣮૷ͷڑ཭Λ ͚ۙͮΔεΫϦϓτ͕ ੜ·Εͨ! 39

  40. ࣍ճ ༧ࠂ 40

  41. ςετॻ͖ͨ ͘ͳ͍ཧ༝ᶄ "ෛ࠴ʹͳΓ΍͍͢" ʹର͢Δ஌ݟ΋ ࢓ೖΕΒΕ·ͨ͠ɻ ͦͷ঺հ΋ Ͱ͖ͨΒ͍͍…͔ͳʁ 41