안전한 코드는 크래시가 안난다는 말이 아니다.

"안전한 API란 모든 가능한 입력값에 대해 일관된 결과를 낸다는 뜻이지, 크래시가 안난다는 뜻이 아니다."


nil인 옵셔널 변수를 강제로 언래핑 하면 크래시가 납니다. 항상 같은 결과를 내기 때문에 이 API는 안전하다고 볼 수 있는 것이고, 이와 다르게 unsafelyUnwrapped는 리시버가 nil인 경우 크래시가 날 수도 있고, 쓰레기 값이 반환될수도 있습니다. 명확히 정의된 결과가 없기 때문에 안전하지 않은 API 인 것이죠.


하지만 이걸 앱에도 적용할 수 있을까요?

API 개발자가 아니라 앱 개발자라면 크래시는 무조건 피해야 하는 결과라고 생각합니다. 앱 크래시는 API의 크래시와 다르게 당하는 사람(?)이 왜 이런 결과가 나왔는지 알 수 없기 때문입니다. 그래서 결코 "의도한 크래시"라는건 있을 수 없습니다. 개발자가 처리하지 못한 에러 만 있을 뿐이죠. 앱은 크래시를 내는 대신 에러 화면으로 최종 사용자에게 에러를 보여주고 다음 행동을 추천해줘야 합니다.


여러분들의 생각은 어떤가요?


https://developer.apple.com/videos/play/wwdc2020/10648/

Unsafe Swift - WWDC20 - Videos - Apple Developer

Apple Developer

Unsafe Swift - WWDC20 - Videos - Apple Developer

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 10월 23일 오후 2:53

 • 

저장 6조회 2,803

댓글 4

함께 읽은 게시물

작년에 읽은 34권의 책 중 가장 좋았던 책

2

... 더 보기

2024년에 밑줄 친 문장들

1nteger 🏄🏻‍♂️

2024년에 밑줄 친 문장들

 • 

저장 9 • 조회 995


🤖 최초의 AI 브라우저, Dia 직접 써봤습니다! 🌐

... 더 보기


어려운 문제를 대하는 태도



... 더 보기

1인 개발자의 최고의 사무실은 바로 자기집 방구석

... 더 보기

최고의 사무실은 바로 우리집 방구석

K리그 프로그래머

최고의 사무실은 바로 우리집 방구석

구현패턴으로 DB사용비용을 10배줄이기

... 더 보기

kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

GitHub

kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

 • 

댓글 1 • 저장 34 • 조회 2,810