더북(TheBook)

컴파일러가 코드를 처리하는 방식과 똑같이 중괄호를 추가했습니다. 이제 grantAdminAccess() 호출을 지키는 조건이 없으니 오류를 쉽게 발견할 수 있습니다. 중괄호 덕분에 코드가 훨씬 읽기 쉬워졌습니다. 시간이 얼마 없더라도 누군가 이 중대한 버그를 찾아낼 가능성이 훨씬 커졌습니다.

새 코드 행도 안전하게 추가할 수 있죠. 이전에는 중괄호가 없다는 사실을 간과해 블록 중 하나에 행을 추가할 수도 있었거든요.

예제에서는 잘못 읽힐 수도 있는 들여쓰기가 버그를 일으켰습니다. 더 짧은 코드가 더 나은 코드를 뜻한다는 잘못된 생각이 수반되어 더 위험했죠. 기억하세요! 코드가 적다고 항상 더 낫지는 않습니다. 더 나은 코드란 더 읽기 쉬운 코드에요!

이러한 오류가 비현실적인데다 보안이 중요한 코드에서 실제로 거의 일어나지 않는다고 주장할 수 있습니다. 하지만 역사는 다르게 말합니다. 2014년 애플 공학자가 구현한 애플 iOS의 SSL/TLS 프로토콜에 매우 유사한 버그가 있었습니다. 공격자가 버그를 교묘히 활용했다면 애플 장치의 어떤 보안 연결이든 뚫을 수 있었죠. 두렵지 않나요?

중괄호를 항상 습관처럼 사용하는 것이 버그를 예방하는 훌륭한 대비책입니다. IDE에서 항상 자동 들여쓰기를 사용하듯 말이죠. 하지만 아직 해법이 완벽하지 않습니다. 5.1 빠른 실패1.8 코드 대칭 이루기를 어기거든요. 더 읽어봅시다!

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.