WPF 한글 변수명 사용 질문

안녕하세요.

제목 그대로 한글 변수명을 사용해보려 합니다.

일단 첫번째로 리소스딕셔너리 xaml 파일의 key를 한글로 하여

프로그램의 언어 전환을 구현하려 합니다.

저 혼자 간단한 프로그램을 만들어본 결과 별 문제는 없었습니다만

한글로 작성해도 문제가 없었는지 다른분들의 경험, 또는 의견이 궁금합니다.

2 Likes

변수명, 함수명 한글 사용은 별로 좋은 습관이 아닌 것 같습니다.
BOM 있는 utf8로 저장하지 않으면 한글 깨졌던 기억이 있네요

2 Likes

스펙상으론 문제가 없다고 하지만
진짜 문제는 경험치가 없다는 거겠죠.

일반적으로 과거 c부터 시작해서
습관적으로 알파벳으로 하기 때문에
그로 인한 문제에 대해 경험치가 없어 보입니다.

예를 들어 스레드나 뮤텍스 mmf 등 시스템 객체 네임도 한글이 가능한건지

닷넷으로 com 을 만들었을때 다른 언어에서 가져다 쓸수있는지 등도 고려 해봐야 할거 같네요.

3 Likes

변수명 한글을 해도 컴파일이나 빌드 시 문제는 없지만 그리 좋은 방법은 아닙니다.
c#에서는 카멜표기법을 추천 드립니다.

ex)

datetime expireDate;
int totalCount;
string firstName;
string lastName;

한 20여 년 전에 국내 한글로 프로그래밍이 가능했던 언어가 몇 개 있었지만…
어느새 사라져 버렸습니다.(실무에는 쓰이지 못하고 거의 학습용으로…)

2 Likes

개인적으로 한글 변수를 (꽤) 많이 사용해봤었는데요, 기능에서의 큰 문제는 없었습니다.
다만, 앞서 설명해주신 것처럼 한글을 쓰지 말아야 할 여러 이유가 존재합니다.

만약 개인 프로젝트에서 사용하신다면 크게 문제 없다 생각할 수 있겠지만, 장기적으로 생각해본다면 GitHub와 같은 오픈소스 플랫폼을 통해 프로젝트를 관리하는 것이 자신의 성장과 커리어에도 훨신 도움이 됩니다. 만약 한글 변수를 사용한다면, 소스코드의 가치가 국내에 한정될 것은 물론, 국내 개발자들도 대부분 외면하게 될 지도 모릅니다. 실무 프로젝트에서도 마찬가지입니다. 표준이라는 것이 있기 때문에, 누군가에게 의도치 않은 피해를 주게 될 수도 있습니다.

다만 @I_Lee 말씀하신 것처럼, 단순 언어 전환을 위해 Key 값을 한글로 구성하신다면 아마도 한글로 세부적인 표현을 통해 더욱 타이트하게 리소스를 관리하는 것이 더 나을 수도 있을 것 같습니다.

그래도 영어로 진행하는 것이 좋다고 생각되지만, 충분히 시도를 해보시고 직접 판단하는 것도 좋을 것 같네요.
(저도 아주 비슷한 경험을 했습니다. :smile: )

6 Likes

재미있는 토론이라서 몇 가지 TMI를 달고 싶어 댓글을 남겨봅니다. :laughing:

  • 한글로 저장된 소스 코드는 다른 개발자의 입장에서 어떤 인코딩으로 열어야 할 것인가부터가 난관이 될 수 있습니다. 이론 상 최소 세 가지 옵션 및 그 이상이 존재하는데, 1 - 조합형 한글 (요즈음은 거의 사라졌지만 이론상으로 고려 대상은 맞습니다.), 2 - CP949, 3 - 유니코드 UTF-8 등이 있겠습니다. 반면 영어로 저장된 소스 코드는 ASCII 범위 안에 항상 들어온다고 볼 수 있죠.
    • UTF-8 하나만 놓고 보더라도 변수는 두 가지나 있습니다. 그 중 첫 째는, 데이터 앞에 Byte Order Mark (BOM)을 윈도우 쪽에서는 붙이는 것을, 다른 쪽에서는 붙이지 않는 것을 기본으로 하기 때문이죠.
    • 둘 째는 한글 조합 방식에 관한 문제인데요, 맥에서 한글 파일 이름을 붙인 것을 윈도우로 가져오면 자소분리가 일어난다는 현상을 많이 보셨을 겁니다. 파일 이름만 그런게 아니고, 안에 들어가는 텍스트에도 해당되는 내용입니다.

생각나는 것만 적어봐도 이 정도인데, 한글로 저장된 텍스트 파일을 제대로 다룰 수 있도록 분석 로직을 프로그램에 넣어두지 않았다면 "올바르게 파일을 불러오는 방법"을 별도로 문서화해야만 할 겁니다. 그래서 추천하지 않는다는 점도 있다고 생각합니다.

덧. 그러고보니 1998년 ~ 2000년 사이에 파스칼 프로그래밍 언어를 베이스로 해서 PC통신 동호회에서 기성 IDE (아마도 델파이)의 영향을 받은 비주얼 프로그래밍 툴이 잠깐 유행했던 적도 있었는데 이제는 정말 아는 분들만 아는 툴이 된 것도 있어서 기억에서 꺼내와봅니다. ㅎㅎ

https://namu.wiki/w/창조#s-4

4 Likes

답변 감사합니다.

모아보면

  • 인코딩 문제
  • com 작성등에서 호환성 문제
  • 다른 운영체제에서의 문제
  • 호환 가능한 로직 추가로인한 비효율 발생

이렇게 4가지 정도가 되네요.

전문 용어들을 영어로 써놓으면 무슨 의미인지 이해를 못해서 한글을 생각했는데
mac, git등에서의 인코딩 문제 발생의 가능성이 있다면 사용하기 어렵겠네요.

어디다 물어볼데가 없었는데
모두 답변 감사합니다. ^^

3 Likes