• [그냥] 구글코딩스타일 궁금한점2019.04.15 PM 01:32

게시물 주소 FONT글자 작게하기 글자 키우기

다른건 다 이해가는데 변수 앞에 어떤 자료형쓰는지 알려주는걸 쓰지 말라는데 이게 잘 이해가 안되요

 

 

예를들어 m_dbBearing, m_dbElevation이런 거...?

댓글 : 12 개
불편해서 그런거 아닐까요? 중간에 자료형이 바뀌면 모든 변수 찾아서 다 바꿔줘야 되어서요.
그리고 가독성 측면에서도 문장처럼 읽히는 코딩이 유행하는데
자료형 약자가 앞에 있으면 자연스럽게 읽히지 않거든요.
클래스 멤버변수여도 m안붙이는거 같던데 이거도 빼는 추세인가요
만약 맴버 변수임을 표시한다면 m_variableName 보다도 memberVariableName 이런 식으로 다 적어주는 것이 요새 추새인 것 같습니다.
윗분이 말씀하신대로, 유지보수의 측면과 가독성 이슈때문입니다.

요새는 m_ 도 안쓰는 조직이 많더라구요.
장단이 있을듯.
위에 말씀하신거처럼 플롯 더블 변경이라거나 큰숫자 연산이여서 32bit 변수에서 64bit 변수로 치환했다가 돌린다거나..
c언어 같으면 void* 라거나...
겜플머입니다.
10년전 쯤 에는 C++ , 다이렉트X 로 할때까지도 헝가리언 표기법이 대부분였네요.
요즘 유니티로 주로 개발하는데 공식 SDK 에도 헝가리언 별로 없습니다.

유니티 공식 SDK 중에 Transform 클래스의 변수를 보면

childCount , p-osition , forward , root 등등

그냥 읽어도 무슨뜻인지 알수가 있죠.
요즘엔 개발툴이 좋아져서 별도의 표시가 없어도 식별이 수월하기 때문에 생략하는 추세입니다.
m_ 안 쓰는 것이 많아지는 추세이긴 하지만 조직마다 다른 것 같습니다. 구글 코딩 컨벤션이라도
내부 코딩규약에 맞추면 그만 아닐까요? 저희 팀도 코딩 컨벤션을 통해 규약을 맞추긴 했지만
어느 팀을 가든 다 다를 것 같습니다. 저희는 언리얼 엔진 표준을 기반으로 정하고 사용중입니다.
저희도 이분과 비슷하게 쓰고 있습니다. 언리얼 엔진 표준에 살붙이기해서 사용중입니다.
제가 조금 모자란걸 수도 있지만 아는걸 말씀드리면..
예전에 C나 C++로 글로벌 변수를 쓰면 얘게 어디 변수고 무슨 변수인지 알아먹기가 어려워서(헤더파일 지옥.. 이중선언, 이름 겹치면 또 난리..) 변수 앞머리에 이런정보를 담아 썼었죠 (m_ i, i32, db, net..등등)
근데 이제는 클래스 혹은 네임스페이스에서 변수의 용도와 범위를 유추할 수 있기때문에 예전처럼의 표기법은 오희려 가독성을 낮추고 타이핑으로 인한 부담을 늘리게 되는거죠.
아마 또 시간지나면 변수명 적당히 줄여쓰는 트렌드 나올듯..
옛날에는 개발툴이 안 좋아서 변수명만으로 어느 형으로 선언했다던지 전역변수인지 지역변수인지 추적하기가 어려웠습니다.
그래서 변수명만으로 어떻게 선언했었는지 확인할 수 있게 표시하는 룰을 만들었었죠.
요즘에는 툴이 좋아서 F12로 다 알아낼 수 있으니 연연하지 않습니다.
친구글 비밀글 댓글 쓰기

user error : Error. B.