<aside> 🏎️ TL;DR: 널 가드보다는 예외처리라는, 더 나은 표현을 쓰는 게 어떨까 싶습니다 🙂

</aside>

<aside> ❓ 42서울에서만 쓰이는 것 같은 널 가드라는 단어에 대한 개인적인 생각으로, 어디선가는 실제로 그 단어가 다른 의미로 많이 쓰일 수 있습니다.

</aside>

널 가드란?

42서울에서 널 가드라는 말을 자주 들을 수 있습니다. 최소한 저는 많이 들어왔습니다.

우선 널 가드가 뭔지 검색해봅시다.

구글에 null guard를 검색한 결과

구글에 null guard를 검색한 결과

구글에 검색해봐도 별 결과가 없는 것을 볼 수 있습니다.

어떤 경우에 널 가드라는 말을 쓰는지 떠올려보면… 주로 두 가지 경우가 있습니다.

  1. 함수의 null이 아니어야 하는 인자에 null이 전달되는 경우 이에 대한 예외처리
  2. malloc 등 보통 null이 아닌 값을 리턴할 것으로 기대되는 함수가 null을 리턴하는 경우에 대한 예외처리

결국 null과 관련된 예외처리에 대한 말입니다.

비슷한데 널 가드는 아닌 경우

malloc과 비슷하게 write나 read도 실패할 수 있습니다.

심지어 이 경우에는 일부만 성공하기도 합니다.

널 가드의 뜻과 비슷한 경우가 많지만, NULL과는 관련이 없기 때문에 널 가드라고 할 수 없습니다.

결론

널 가드라는 표현보다는, 더 널리 알려져 있고 의미가 명확한 예외처리 같은 표현을 사용하는 게 어떨까요?