영문학과가 알려주는 변수명 짓기 #97
gorgeouseowoo
started this conversation in
Idea
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
안녕하세요! 3기 주니어 러너 티나입니다! 🦖
시작하며
개발을 공부해 보니 파일명, 메서드명, 변수명 등 이름을 붙여야 할 코드가 정말 많았습니다.
좋은 이름을 짓는 것은 참 어려운 일 입니다.
하물며 ‘티나’라는 닉네임을 생각하는데에도 몇 시간을 고민했어요.
실제로 많은 개발자가 이름 짓기를 어려워 하고, 여기에 많은 시간을 할애합니다.
개발을 하면서 ‘이름 짓기’와 관련해 다양한 질문을 받았는데요,
영문학과를 졸업한 제가 영문법 관점에서, 개발 관점에서 어떻게 변수명을 정했는지 공유하고자 합니다.
저의 글이 변수명을 짓는 시간을 1초라도 줄이는데 도움이 되었으면 합니다 😊
변수명 짓기가 어려운 이유
변수명 짓는 것을 어려워 하는 이유는 뭘까요?
4명의 러너에게 물어보았는데요,
변수의 목적과 의미를 정확하게 전달하는
단어 선택
에 어려움을 느끼고 있었습니다.밥 짓기보다 쉬운 변수명 짓기
1. 간결하게(X) 명확하게(O)
변수명이 길어지는 것을 우려해 변수명을 짧게 짓기 위해 줄임말을 쓰는 경우가 있습니다.
간결한 이름이 오히려 코드의 가독성을 헤칠 수 있습니다.
‘목적지 선택 버튼’ 이라는 변수명을 지어 봅시다.
‘배경 색상 설정’ 이라는 변수명을 지어 봅시다.
2. 형용사 + 명사
명사를 수식하는 형용사를 잘 사용하면 변수의 특성을 다양하게 설명할 수 있습니다.
다음 화면에서 필요한 변수명을 함께 지어볼까요?
과거분사 + 명사
현재분사 + 명사
3. Bool 타입 변수명 == 질문 형태
Bool 타입은 항상 두 가지 상태 중 하나만 가질 수 있습니다.
저는 두 가지 상태를 모두 물어볼 수 있는 질문 형태로 변수명을 만듭니다.
화면에서 짹짹들이 지출에 대한 찬성과 반대 의견을 내고 있습니다.
찬성과 반대의 2가지 상태를 가진 Bool 타입 변수를 찬성해? 라는 의미의 hasAgreed로 지을 것 같습니다.
4. 변수명 짓기 사이트
https://www.curioustore.com/#!/
변수명을 짓는데 도움을 받을 수 있는 사이트 입니다.
문법의 정확성과 코드의 확장성을 고려한 변수명 선택하기
를 기준으로 변수명을 짓는 편입니다.
🟢DaySelectionButton vs. SelectDayButton
개발자🤖: 날짜를 선택하는 버튼의 변수명을 짓고 싶어요. 둘 중에 뭐가 더 좋을까요?
티나🦖: DaySelectionButton이 좋아보여요! 메서드 이름으로는 “selectDay()” 쓰세요!
1. 문법의 정확성
"DaySelectionButton"은 명사구 형태로, 'Day Selection'이 'Button'을 수식하는 구조입니다.
selectDayButton은 동사(select) + 명사 (Day) + 명사 (Button)의 구조로, 문법적으로 매끄럽지 않습니다.
2. 코드의 확장성
"DaySelectionButton"은 "MonthSelectionButton", "YearSelectionButton" 등 날짜를 선택하는 컴포넌트와 일관성을 유지할 수 있습니다.
🟢AbroadBird vs. ForeignBird
개발자🤖: 베트남, 스위스 새를 의미하는 변수명을 짓고 싶어요. 둘 중에 뭐가 더 좋을까요?
티나🦖: ForeignBird가 좋아보여요!
1. 문법의 정확성
"Foreign"은 "외국의, 이국적인"이라는 의미를 가진 형용사로, 명사를 직접 수식할 수 있습니다.
반면 "Abroad"는 "해외에서"라는 의미로, 주로 부사로 사용되어 명사를 직접 수식하기에는 적합하지 않습니다.
명사 앞에 오면서, 명사를 꾸밀 수 있는 것은 형용사, 명사, 관사, 숫자, 분사 뿐입니다⭐️
2. 코드의 확장성
"ForeignBird" 클래스는 나중에 "LocalBird"와 같은 다른 클래스와 쉽게 대비될 수 있어,
코드의 구조를 더 명확하게 만들 수 있습니다.
마치며
변수명을 짓는 데에는 정답이 없는 것 같습니다.
변수명을 잘 짓기 위해서는 많이 지어보는게 중요한 것 같습니다.
고민하고 있는 변수명이 있다면 댓글로 알려주세요!
감사합니다.
Beta Was this translation helpful? Give feedback.
All reactions