C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[9863] 음... 멤버변수의 접두어 말인데요... ^^
어떤게좋을까요? [] 2526 읽음    2004-08-30 22:25
저의 경우는 델파이 프로그램 하면서... 여태까지 주욱, 멤버변수의 접두어(사?)를 F 로 일관되게
사용했습니다.

그런데 이게 문제가 좀 있는것 같습니다. 지역변수, record 의 멤버등에는 자료형에 맞게 i, s, r, x, v
등을 붙이는데 멤버변수에는 F가 붙어 있어서 FiMember라고 하거나 Fi_Member라고 이름을 붙이기에
좀 보기가 어렵더군요.

그래서 생각해보았는데, visaul c++에서 쓰고 있는 멤버 접두어 m을 사용하면 좋지 않을까...
뭐 그런 생각을 해봅니다. 인티저 형 멤버변수에는 mi_Member, 문자열 형에는 ms_Member등 말이죠

여러분들은 어떤걸 사용하시나요? 저는 F 에서 m으로 바꾸는걸 심각하게 고려하는 중 이라서
이 참에 여러분들의 의견을 한 번 들어보고 싶습니다.
김윤태 [onemind555]   2004-08-30 22:39 X
변수 이름뒤에 _붙여쓰는게 좋지 않을 까요..

birthDay_
member_
이런식으로...
김백일.cedar [cedar]   2004-08-30 23:17 X
저도 뒤에 _ 붙이는 걸 추천합니다.
Exceptional C++로 유명한 Herb Sutter가 제안한 걸로 유명하죠.

그리고 C가 아닌, C++과 델파이에서는 헝가리안 표기법을 쓰는 것은 비추입니다.
접두어보다는 접미어를, 약자보다는 원래 단어를 쓰는 것이 좋습니다.
즉, m_nMember 보다는 memberNumber_로 쓰시라는 겁니다.
변수명이 좀 길어지면 어떻습니까? 가독성이 중요하지요.
홍환민.행복 [hhshhm]   2004-08-30 23:28 X
뒤에 _를 붙이면 좋은 이유가 멀까여?? 입셉션 씨를 안봐서.. 궁금해서여~^^

글구.. 델파이의 경우

property AA: Integer read FAA write FAA; 만 쓰고..
컨트롤+시프트+C 를 누르게 되면 자동완성 기능이 작동합니다.
그래서 private 영역에 FAA: Integer; 라고 자동으로 코드가 추가됩니다.
이때 앞에 F 가 오느냐에 따라 read FAA write FAA 에 오는 FAA가 변수인지.. 아니면 함수인지를 판단하더라고요...
그래서 자동완성 기능 쓰시면 F를 붙이시는게 좋을거같아요..
김백일.cedar [cedar]   2004-08-30 23:42 X
앞에다 _를 붙이면 컴파일러에 따라 Name Mangling할 때 문제가 생기는 경우가 있기 때문입니다. ㅡㅡ;
그리고 접두어보다 접미어를 쓴다는 원칙에도 부합하지요.
생성자에서 멤버변수를 초기화 할때 조금 특이하게 보이면서(이모티콘과 비슷) 알아보기 쉽다는 느낌이 듭니다.

struct foo
{
  foo(int a, int b) : a_(a), b_(b) {}
  int a_, b_;
};
김태선 [jsdkts]   2004-08-31 09:25 X
멤버변수는 가장 많이 선호되고 실무에서 사용되는 규약은
m_ 이 접두어로 오고 다음에 형, 그 다음에 이름이 오는 규칙입니다.
정수형 멤버변수로 카운트 같으면 m_iCount; 이런 식이죠.
델파이, C++Builder, VC++ 혼합 프로그래밍을 하다 보니,
이 방식이 가장 좋은 것으로 판단됩니다.
글로벌 변수는 g_ 로 처리하고요.

가장 많이, 실무에서 공통규약으로 선택되고 있기 때문에 이런 방식을 한번 써 보는 것도 좋은 것 같습니다.
델파이는 F prefix를 붙이는게 전통이 되었으니 관계없고요. 
김태선 [jsdkts]   2004-08-31 09:59 X
그런데 변수형의 표기는 C처럼 복잡하게 하지 않고,
아주 간단히 하거나 생략하는 것이 더 편리하더군요.
어차피 C++은 타입검사가 철저하고, 에디터에서 쉽게 그 형을 참조할 수 있기 때문에 복잡한게 오히려 귀잖더군요.  lpsz 같은 것은 s 하나로 쓰거나 안쓰거나 하죠.

+ -

관련 글 리스트
9863 음... 멤버변수의 접두어 말인데요... ^^ 어떤게좋을까요? 2526 2004/08/30
9865     (수정)Re:음... 멤버변수의 접두어 말인데요... ^^ 어떤게좋을까요? 1862 2004/08/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.