DEV Community

loading...

Discussion on: Force unwrapping is not just “not Swift-like.” It’s wrong.

Collapse
evandeaubl profile image
Evan Deaubl Author

I'll admit, it's easy in a weak moment to drop a ! and run away. 😅 I think that's one of the main problems; they made it too easy to do just that, without thinking.

Collapse
ben profile image
Ben Halpern

Escape hatches are such a funny element of computer programming in general. So terrible yet fairly awesome in some senses. All in all it’s “better” that you “can” ship a quick and dirty solution, but you just shouldn’t do it.

Thread Thread
evandeaubl profile image
Evan Deaubl Author

Yeah, re: the discussion with Theodore below, IB outlets are one place where the escape hatch is useful, because the contract that this value will be set when you use it is being fulfilled another way. It probably shouldn't be an absolute 100% never do it, but training a strong bias against it is wise. And maybe some additional guardrails and mindfulness for when you do need to use it (code comments asserting why you believe it's safe, for example).