July 2, 2020
  • 10:00 pm S01E02: [TDD 🍅 1] Creating a Swift Framework – The Game Engine
  • 7:28 pm Longplay: Yogho Yogho (1995) [MS-DOS]
  • 5:30 pm Azimuth : Ride the Winds – Kickstarter Board Game Review
  • 4:38 pm Adventure Time – These Lumps (Cartoon Network Games)
  • 3:34 pm LeBron James and YG pull up to watch Mikey Williams Final Game of the Season! 👑



★ Register Now to Our Free iOS Career Course!

Subscribe to our channel:

In this episode, we dive into our first lines of code. Before we begin building the project, we agree on a set of rules such as:

– Follow the Pomodoro Technique for segmenting workload and time
– Develop the system by writing tests first
– Separate the responsibilities of the system in modules

We start by creating the QuizEngine project, a module responsible for the business logic of the system. Despite the fact that we are building an iOS app, the QuizEngine is created as a macOS framework, allowing us to embed it later in any platform specific deployment target (iOS, tvOS, watchOS, macOS). We also get for free blazing fast unit tests 🚀!

Our first component is the Flow, a class responsible for controlling the routing of the system based on a simple question, “Are there any more questions to show?”.

– In case there are we want to get the answer for the current question and move on to the next one.
– If there are no more questions we want to route to the results.

As we test drive the Flow we get into how we choose to create classes over structs, abstract behaviours by using protocols, boost your productivity by using a somewhat obscure feature of Xcode and much more!

Previous episode:

Episodes playlist:

Follow the series progress on GitHub:

Visit our website:

Connect with us on:
Twitter:
Facebook:

Nguồn: https://taibangoc.com/

Xem thêm bài viết khác: https://taibangoc.com/game/

admin

RELATED ARTICLES

19 COMMENTS

  1. Achraf Trabelsi Posted on July 2, 2020 at 10:00 pm

    Just discovered your channel and already subscribed, happy to be part of the Essential Developer community !

    Reply
  2. KASUN WICKRAMANAYAKE Posted on July 2, 2020 at 10:00 pm

    at 7.29 .how would you decide to add router as a parameter to the flow

    Reply
  3. odia david Posted on July 2, 2020 at 10:00 pm

    This is pure practical TDD. YOU guys are the best

    Reply
  4. KASUN WICKRAMANAYAKE Posted on July 2, 2020 at 10:00 pm

    can you explain why use sut instead of flow (6.20 )Thank you

    Reply
  5. MR. LAYER Posted on July 2, 2020 at 10:00 pm

    Best tutorial I have seen and I am only on the second episode

    Reply
  6. Hai Tran Posted on July 2, 2020 at 10:00 pm

    Why do you name router `RouterSpy` ?

    Reply
  7. R K Posted on July 2, 2020 at 10:00 pm

    you guys are awesome. You are the only channel that develops code like this.

    Reply
  8. Plamen Andreev Posted on July 2, 2020 at 10:00 pm

    You mentioned that "sut" is System Under Test. I thought that "sut" is the abbreviation of Subject Under Test.

    Is System Under Test the same as Subject Under Test?

    Reply
  9. Christophe Bugnon Posted on July 2, 2020 at 10:00 pm

    Is it an overkill to add routedQuestion to the first test to assure that we get nil?

    Reply
  10. Gordon Smith Posted on July 2, 2020 at 10:00 pm

    Just discovered this series and 2 videos in I had no choice but to subscribe. Really good work, the paired programming environment really helped to keep the content engaging. I learned a lot watching this, thank you 🙏

    Reply
  11. Ade Adegoke Posted on July 2, 2020 at 10:00 pm

    This tutorial is way too advanced for a beginner

    Reply
  12. Edmund Trujillo Posted on July 2, 2020 at 10:00 pm

    At about 7:21 you casually add the concept of a router for communication.  It's kind of a big conceptual leap from a flow and quite arbitrary isn't it?.  Isn't a flow the mechanism for transporting something (data, ideas, water, electricity)?  I'm not sure how you arrived at the idea of a router as being integral to the thought process of defining a flow.  In thinking of a flow I never think of a router.  I tend to think of pathways, sources, destinations, directions (upstream/downstream), flow volume, flow rate…  Having offered this criticism please don't interpret this as being negative as I think your videos are full of good information..

    Reply
  13. Pavlo Shadov Posted on July 2, 2020 at 10:00 pm

    Hey guys, thanks for amazing season 🙂
    Small note: 8:18 you don't need to press "Command" button in this great combination, "Shift" + "Option" is enough (at least, in Xcode 9)

    Reply
  14. antonc27 Posted on July 2, 2020 at 10:00 pm

    "Most importantly we don't see the simulator" lol

    Reply
  15. David Martínez Posted on July 2, 2020 at 10:00 pm

    Very good "watch us do" tutorial.
    But, your naming convention is pretty weird, you should stick to camel case or snake case, not both…
    Also, the swift convention (just like Javascript) is camel case…
    But still, really good job guys…

    Reply
  16. Mohammad Ashour Posted on July 2, 2020 at 10:00 pm

    Very good stuff. Just subscribed. Please bump up the font size on the XCode editor.

    Reply
  17. Tom Laddus Posted on July 2, 2020 at 10:00 pm

    Love the Mac target for doing model development…so much faster.

    Reply
  18. 16Ivory Posted on July 2, 2020 at 10:00 pm

    This is incredibly helpful! Well done guys!

    Reply
LEAVE A COMMENT