How senior iOS devs test & refactor legacy code with Massive View Controllers | Live Dev Mentoring
/Want to learn how to refactor Massive View Controllers and catch/fix bugs in legacy iOS codebases? 👇
Read MoreSkilled, disciplined and professional iOS software development resources tailored for you
Want to learn how to refactor Massive View Controllers and catch/fix bugs in legacy iOS codebases? 👇
Read MoreHave you ever seen nested Swift closures shaped like an arrowhead (aka Pyramid of Doom)? 😱
Read MoreEver wondered how to architect iOS apps with real-time UI updates via WebSockets?
Read MoreIn this episode, Caio replies to a question we received from Tulio in the private iOS Lead Essentials Slack community: "How can I test code that dispatches work to the main DispatchQueue asynchronously? If I remove the thread handling code, my test succeeds."
Read MoreIn this episode, we continue migrating the iOS View Controller Factory to the new APIs.
Read MoreIn this episode, you'll see how to move deprecated dependencies from high-level to lower-level modules as we finish refactoring the `ResultsPresenter`.
Read MoreIn this episode, you'll see how to change a Swift struct memberwise initializer while maintaining backward compatibility as we refactor the Quiz ResultsPresenter.
Read MoreIn 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!).
Read MoreIn 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 MoreIn 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 MoreFirst-class iOS engineering with Empathy, Integrity, and Economics in mind. Skilled and disciplined training for iOS professionals and teams.
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.
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.