신기한 Lobsters · 2026-09-20

"함수 이름에 띄어쓰기 넣었습니다" 개발자들 기겁하게 만든 천재적인 꼼수

핵심 요약
  • PHP에서 줄 바꿈 없는 공백( )을 문법상 일반 문자로 인식한다는 점을 이용해 테스트 메서드 이름에 띄어쓰기를 넣은 사례가 공개되었습니다.
  • 단어들을 억지로 잇지 않고 자연어 문장처럼 이름을 지을 수 있어 1년 넘게 팀 내에서 만족스럽게 쓰이고 있습니다.
  • 주요 개발 툴에서도 잘 동작하지만, 새로 들어온 동료들이 코드를 보고 경악하는 부작용이 있습니다.
요약 PHP 개발자 마티외 나폴리(Matthieu Napoli)가 테스트 메서드 이름을 지을 때 줄 바꿈 없는 공백(Non-breaking space,  )을 활용하는 파격적인 팁을 공유해 개발자 커뮤니티에서 화제를 모았습니다. 일반적으로 프로그래밍 언어에서 함수나 메서드 이름에는 공백을 쓸 수 없기 때문에 카멜케이스(camelCase)나 스네이크케이스(snake_case)를 사용합니다. 하지만 PHP에서는 줄 바꿈 없는 공백 문자를 에디터상에서는 일반 띄어쓰기처럼 보이면서도, 문법적으로는 다른 일반 문자처럼 유효하게 인식한다는 점에 착안한 것입니다. 작성자에 따르면 과거 팀 내에서 테스트 메서드 가독성을 개선하고자 스네이크케이스를 쓰거나 이모지를 함수명으로 쓰는 농담을 하던 중, 한 동료가 "가독성이 목적이라면 차라리 줄 바꿈 없는 공백을 써보면 어떠냐"고 장난처럼 던진 아이디어에서 출발했습니다. 팀은 소규모 실험으로 이를 도입했고, 실제 1년 이상 만족스럽게 사용했다고 밝혔습니다. 덕분에 테스트 메서드 이름이 긴 단어의 나열이 아니라 완전한 자연어 문장처럼 읽혀 의도를 파악하기가 훨씬 쉬워졌다는 설명입니다. 작성자는 macOS(Alt+Space)나 Ubuntu(Alt Gr+Space)에서 손쉽게 입력할 수 있고 Git, PhpStorm, GitHub 등 주요 도구에서도 문제없이 작동했다고 덧붙였습니다. 다만 새로 합류한 개발자들이 코드를 처음 볼 때 경악하는 순간(WTF moment)을 겪는다는 점과, 맥락을 모르는 외부 기여자가 혼란을 겪을 수 있어 대규모 오픈소스 프로젝트에 바로 적용하기는 조심스럽다는 현실적인 한계도 함께 짚었습니다.
Sponsored · 광고