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

"안전한 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,801

댓글 4

함께 읽은 게시물

Dependabot을 통한 안전한 의존성 관리

... 더 보기


“우리가 작은 전투 몇 개를 이기는데만 집중해서 전쟁에 진다면 창피할 것이다. 스타트업에서 전쟁이란 살아남는 것이다. 전쟁이란 제품을 시장에 내 놓기 전에 돈이 떨어지지 않게 하는 것이다.” - 스티브 잡스


위로



... 더 보기

 • 

저장 7 • 조회 1,131


< 성공하는 사람은 '왜', 실패하는 사람은 '어떻게'를 묻는다 >

1. 사람들이 자연스럽게 갖기 쉬운 프레임은 대개 하위 수준이다.

... 더 보기

해외 취업이 목표라면 지금부터 알아둬야 할 20가지 자료

1️⃣ 취업 루트 및 경험담 01. 미국 취업 루트: https://careerly.co.kr/comments/51260 02. 캐나다 취업 허가증 수령 경험담: https://careerly.co.kr/comments/56992 03. 미국 이민/해외 취업 준비 중이라면 꼭 알아야 하는 것: https://careerly.co.kr/comments/56991 04. 실리콘 밸리 개발자의 7가지 찰랜지: https://careerly.co.kr/comments/72236 05. 미국 생활하면서 가장 힘들었던 점: https://careerly.co.kr/comments/52097 06. 미국 취업 비자, 4월이 가장 절망적일 수 있는 이유: https://careerly.co.kr/comments/54680 2️⃣ 영어관련 자료 01. 개발자에게 필요한 영어 실력: https://careerly.co.kr/comments/56961 02. 영어 공부팁: https://careerly.co.kr/comments/60926 03. 영어 독해 공부법: https://careerly.co.kr/comments/67571 3️⃣ 면접... 더 보기

 • 

댓글 2 • 저장 275 • 조회 8,156