Clean code, S.O.L.I.D., testability, abstractions, separation of concerns, etc.
These and other important iOS / Swift development good practices
explained simply and with memes
Recent Posts:
- 2026-07-24
- 23 min read
AI Broke Code Review. Here’s How to Rebuild It
You're deep in a tricky bug when Slack pings: a colleague needs a code review. You sigh and click through. 47 files changed. 2,800 lines added, 400 removed. The size of the commit suggests the code wasn't written entirely by hand. That suspicion is confirmed the moment you start scrolling.…
- 2026-06-02
- 22 min read
How to Refactor an RxSwift Monolith into a Modular Swift App
Imagine a quarter-long refactor: turning a big ball of mud, held together by RxSwift and 1500-line view models, into a modular, fully testable codebase. All while actively developing other features and shipping the app. What triggered that massive refactor? An innocuous estimation request. And a decision that shaped the future…
- 2026-04-11
- 18 min read
Interface Segregation Principle In IOS: How To Prevent A Protocol From Becoming A Prison
It's Monday morning. You're halfway through your coffee when a Slack message pops up from the Platform team: Hey, we noticed UserService.fetchLoyaltyPoints() is throwing an error for 12% of users. Can you take a look? You open UserService.swift, and your heart sinks. Eleven dependencies. Twenty-five methods. Eight hundred forty-seven lines…
- 2026-02-16
- 16 min read
How to Migrate to @Observable Without Breaking Your App
So, you've finally convinced stakeholders to raise the deployment target from iOS 15 to iOS 17 - and the first thing on your mind is @Observable. You've read the docs, watched the WWDC sessions - it looks like a straightforward swap. Replace ObservableObject, drop the @Published wrappers, change @StateObject to…
- 2026-01-12
- 23 min read
Why Top Teams Trust AI To Maintain Development Standards And Code Quality?
If you've cared about code quality and consistency before AI-assisted coding became standard, you surely understand the pain of setting development standards in the team. It's an endless cycle: writing documentation that nobody reads, explaining conventions everyone forgets, and leaving the same code review comments for the hundredth time... Finally,…

