S02E11: Cleaning up Swift code backed by tests | Professional iOS Engineering Series

S02E11: Cleaning up Swift code backed by tests | Professional iOS Engineering Series

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.

Read More

S02E10: Finding and fixing bugs with a Swift test spy | Professional iOS Engineering Series

S02E10: Finding and fixing bugs with a Swift test spy | Professional iOS Engineering Series

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.

Read More

S02E09: Test-driven approach to moving code between components | Professional iOS Engineering Series

S02E09: Test-driven approach to moving code between components | Professional iOS Engineering Series

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.

Read More

S02E08: Safely changing Swift code with tests | Professional iOS Engineering Series

S02E08: Safely changing Swift code with tests | Professional iOS Engineering Series

In this episode, you'll see how to safely change existing Swift code covered by unit tests.

Read More

S02E07: Refactoring protocols guided by tests and the compiler | Professional iOS Engineering Series

S02E07: Refactoring protocols guided by tests and the compiler | Professional iOS Engineering Series

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.

Read More

S02E06: Design spiking DataSource/Delegate APIs | Professional iOS Engineering Series

S02E06: Design spiking DataSource/Delegate APIs | Professional iOS Engineering Series

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).

Read More

S02E05: Designing a more flexible Quiz framework | Professional iOS Engineering Series

S02E05: Designing a more flexible Quiz framework | Professional iOS Engineering Series

In this episode, we deprecate more types in order to extend and facilitate more use cases in the QuizEngine framework while maintaining backward compatibility.

Read More

S02E04: Move fast & make things better with tiny refactorings | Professional iOS Engineering Series

S02E04: Move fast & make things better with tiny refactorings | Professional iOS Engineering Series

In this episode, you’ll learn how tiny refactorings are a safe and fast way of improving your Swift codebase.

Read More

S02E03: Adapter pattern in Swift for backward compatibility | Professional iOS Engineering Series

S02E03: Adapter pattern in Swift for backward compatibility | Professional iOS Engineering Series

In this episode, you’ll learn how to use the `Adapter` pattern to help you migrate deprecated Swift APIs while maintaining backward compatibility.

Read More

S02E02: Refactoring public Swift APIs without breaking clients | Professional iOS Engineering Series

S02E02: Refactoring public Swift APIs without breaking clients | Professional iOS Engineering Series

In this episode, you’ll learn how to refactor public APIs while maintaining backward compatibility (without breaking clients!).

Read More