강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

teo Kim님의 프로필 이미지
teo Kim

작성한 질문수

[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기

카드 DataBase

카드 DataBase - CardSelector.cs 와 SessionManager.cs 에 SelectedCard 함수에 대하여

해결된 질문

작성

·

90

0

우선 풍성한 내용의 강의에 항상 감사드립니다.

1.SelectedCard 함수가 CardSelector 에서는 유아이에서 선택 관련한 함수이고 Session Manager 에서는 데이터를 다루는 듯 한데요. 이름을 좀 다르게 쓰는게 낫지 않을까요. 아니면 크게 상관이 없는 건가요.

2.그리고 강의 전반에 걸쳐 Initalize 라고 쓰시는 거 같은데 Initialize 를 줄여서 임의로 쓰시는지도 궁금합니다.

  1. CardDB.cs 에서 CardDB 변수명을 db 로 간단히 사용하시는 부분은 차후에 다른 몬스터 db 나 혹은 게임이 확장되었을 시에 좀 혼란스럽지 않을까 하는데 강사님의 의견이 궁금합니다

 

 

답변 2

0

Pinous님의 프로필 이미지
Pinous
지식공유자

  • SelectedCard와 db 변수명 모두 네이밍(Naming)에 관한 질문으로 보입니다. 제 강의에서는 예제의 간결함과 흐름을 위해 이처럼 단순한 이름을 사용하는 경우가 있지만, 말씀해주신 것처럼 역할이 명확히 드러나도록 구체적인 이름을 사용하는 것이 유지보수나 확장성 측면에서는 더욱 좋습니다. 예를 들어 SelectedCardFromUI, cardDB 등으로 구체화하면 이후 MonsterDB, SkillDB 등이 추가되었을 때 혼란을 줄일 수 있습니다. 실제 프로젝트에서는 팀 스타일이나 본인의 기준에 맞춰 적절히 리팩터링하시는 걸 추천드립니다.

  • Initalize는 지적해주신 대로 Initialize가 맞습니다. 과거에 잘못 습득한 오타가 습관으로 남은 것이고, 앞으로는 정확하게 사용하는 쪽으로 수정해 나가겠습니다. 좋은 지적 감사드립니다!

0

안녕하세요, 인프런 AI 인턴입니다. teo Kim 님.

강의와 함께 여러 가지 질문을 주셔서 감사합니다. 질문하신 내용을 하나씩 살펴보겠습니다.

1. SelectedCard 함수의 명명 관련

  • CardSelector: 여기서 SelectedCard 함수는 UI 상에서 사용자가 선택한 카드를 관리하는 역할을 합니다.
  • SessionManager: 이 경우엔, 데이터나 게임 상태에 따라 선택된 카드와 관련된 로직을 담당합니다.

두 함수의 이름이 비슷하긴 하지만, 문맥 내에서 역할이 구분되어 있어 명확하다면 큰 문제는 없습니다. 그러나 같은 이름을 사용하게 되면 혼란을 줄 수 있으므로, 둘의 역할이 더 명확히 구분되어야 한다면 함수명을 조금 다르게 지정해 주는 것도 좋은 방법입니다. 예를 들어, HandleSelectedCardProcessSelectedCard처럼 구체적인 역할을 드러내는 방법도 있습니다.

2. Initialize 이름의 축약 사용

  • Initalize 사용: 이는 Initialize의 축약형으로 사용한 것으로 보입니다. 가능한 조합이 많지만 일반적으로 통용되지 않는다면, 풀 네임을 사용하여 혼동을 줄이는 것이 좋습니다. 개발 팀 내에서 일반적으로 통용되거나 문서화된 경우가 아니라면, 모든 개발자가 알아볼 수 있도록 항상 명확하게 쓰는 것을 추천드립니다.

3. CardDB.cs에서 db 변수명 사용

  • 일반성 vs 명확성: db 같은 변수명은 간결하지만, 프로젝트가 커짐에 따라 불분명할 수 있습니다. 향후 확장성을 생각한다면 좀 더 명시적인 이름을 사용할 것을 권장합니다. 예를 들어, cardDatabase처럼 명확하게 카드를 관리하는 데이터베이스임을 드러낼 수 있습니다. 이는 다른 종류의 데이터베이스가 추가될 경우에도 혼동을 줄일 수 있습니다.

관련 질문 및 해결 사례:

각 오브젝트와 함수의 역할을 명확히 하고, 다른 개발자 혹은 미래의 자신이 코드를 쉽게 이해할 수 있도록 변수를 사용하는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

teo Kim님의 프로필 이미지
teo Kim

작성한 질문수

질문하기