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

依存関係を静的解析しよう

 依存関係を静的解析しよう

Akifumi Tominaga

January 14, 2022
Tweet

More Decks by Akifumi Tominaga

Other Decks in Programming

Transcript

  1. ґଘؔ܎Λ੩తղੳ͠Α͏
    2021/01/14 @decoch


    Flutter Meetup Tokyo #17 & Flutter Meetup Osaka #9

    View Slide

  2. Akifumi Tominaga
    • Twitter: @decoch718


    • GitHub: @decoch


    • Flutterྺ: 1೥൒


    • Company: SODA inc

    View Slide

  3. ΞδΣϯμ
    • ੩తղੳͰղܾ͔ͨͬͨ͜͠ͱ


    • ͳͥґଘؔ܎ΛकΕͳ͍ͷ͔


    • Ͳ͏ղܾ͢Δͷ͔


    • ࡞੒ͨ͠πʔϧͷ঺հ

    View Slide

  4. ղܾ͔ͨͬͨ͜͠ͱ

    View Slide

  5. ΞʔΩςΫνϟ
    • Clean Architecture


    • MVVM


    • MVC


    • Redux

    View Slide

  6. ࣮ࡍ։ൃݱ৔ʹೖΔͱ
    • ґଘؔ܎͕ΊͪΌͪ͘Ό


    • UI ʹ ϩδοΫ͕ґଘ͍ͯ͠Δ


    • ॥؀ࢀর

    View Slide

  7. ͳͥґଘؔ܎ΛकΕͳ͍ͷ͔

    View Slide

  8. ґଘؔ܎ΛकΔํ๏
    • υΩϡϝϯτ


    • ίʔυϨϏϡʔ


    • ఆظతʹιʔείʔυΛݟճΔ (ґଘؔ܎ܯ࡯)

    View Slide

  9. ଐਓతͰਓྗ
    • υΩϡϝϯτ͸ߋ৽͞Εͳ͍


    • ؅ཧͯ͠Δਓ͕ࣙΊΔͱकΒΕͳ͍


    • ϨϏϡʔऀʹΑͬͯ͸εϧʔ


    • ๩͍͔͠ΒޙͰ௚ͤ͹͍͍΍

    View Slide

  10. Ͳ͏ղܾ͢Δͷ͔

    View Slide

  11. ఆظతʹࣗಈνΣοΫ͍ͨ͠

    View Slide

  12. ੩తղੳͩʂ
    • dart format


    • analyzer

    View Slide

  13. ࣗಈ࣮ߦͩʂ
    • GitHub Actions


    • Bitrise


    • CircleCI


    • Codemagic

    View Slide

  14. CIͰఆظతʹνΣοΫ͠Α͏

    View Slide

  15. ࡞੒ͨ͠πʔϧͷ঺հ

    View Slide

  16. 4೔લʹϦϦʔε͠·ͨ͠

    View Slide

  17. ࢖͍ํ
    • pubspec.yaml ʹ௥Ճ


    • strict_dependencies.yaml ࡞੒


    • ڐՄ͢Δґଘؔ܎Λهड़


    • Lint Λ࣮ߦ (CI্Ͱఆظ࣮ߦ)

    View Slide

  18. pubspec.yaml௥Ճ
    dev_dependencies:
    lint_strict_dependencies: any

    View Slide

  19. strict_dependencies.yaml


    MVVM ͷ৔߹
    rules:
    - module: “models"
    allowReferenceFrom:
    - “view_models"
    - “ui/pages”
    allowSameModule: false
    - module: “view_models"
    allowReferenceFrom:
    - “ui/pages"
    allowSameModule: false
    - module: “ui/components"
    allowReferenceFrom:
    - “ui/pages”
    allowSameModule: true

    View Slide

  20. ੩తղੳΛ࣮ߦ
    flutter pub run lint_strict_dependencies:main

    View Slide

  21. σϞ

    View Slide

  22. એ఻

    View Slide

  23. View Slide

  24. We are Hiring!!
    • גࣜձࣾSODA


    • FlutterΤϯδχΞ


    • όοΫΤϯυΤϯδχΞ


    • https://recruit.soda-inc.jp

    View Slide

  25. ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide