Articles
Page 15 • RSS Feed
Page 15 • RSS Feed
In this episode, you'll see how we use `map` and lazy evaluation to migrate the iOSViewControllerFactory initializer in small steps, without altering the class functionality.
In this episode, you'll learn one of the best investments you can make for your iOS dev career, regardless of your experience level: creating content. Moreover, we'll share and how we, Caio and Mike, met.
In this episode, you'll see how to move deprecated dependencies from high-level to lower-level modules as we finish refactoring the `ResultsPresenter`.
In this episode, you'll see how to change a Swift struct memberwise initializer while maintaining backward compatibility as we refactor the Quiz ResultsPresenter.
In this episode, you'll see how to replace a procedural scoring implementation that relies on a temporary mutable variable with a more functional approach using Swift's `zip` and `reduce` functions (no mutation!).
In this episode, you'll see how to test-drive a basic Quiz scoring function from scratch. By extracting the scoring functionality from the QuizEngine, the framework's clients can now create custom scoring implementations tailored to their business logic.
In this episode, you'll see the pay off of refactoring Swift codebases in tiny steps backed by tests as we safely clean up the codebase by removing duplication and unused APIs without breaking clients or existing code.
In this episode, you'll see how a test spy can help you increase test coverage by capturing all received values as we add more tests and fix a bug in the Quiz framework.
In this episode, you'll see a test-driven approach to moving code between components as we move the scoring logic from the new Quiz APIs to the deprecated Game APIs.
In this episode, you'll see how to safely change existing Swift code covered by unit tests.
In this episode, you’ll learn how to refactor protocol methods guided by tests and the compiler as we gradually migrate the QuizDelegate to the new APIs.
In this episode, we spike new design ideas to separate the responsibilities of (1) building a Quiz result, and (2) delegating the result (Single Responsibility Principle).
Caio Zullo
I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.
Mike Apostolakis
I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.