티스토리 뷰
우리는 개발을 하면서 함수명 및 인자명을 명명하는 시간이 점점 길어진다는 것을 알 수 있다.
우리팀에서 더 나아가 다른 사람이 더 보기 편한 한번에 알 아 볼수 있는 이름으로 함수 및 인자 명을 결정해야 되는것을 이미 알고 있기 때문이다.
우리가 배울 때 책에서 항상 본 일반적인 함수 명입니다.
void foo(), void boo()
에러코드나 함수에서 리턴 되는 값이 있는 경우입니다.
bool foo(), LRESULT boo()
이제 함수 이름을 좀 더 알아보기 슆게 만들어 봅시다.
int GetSize(), bool IsTerniamte()
좀 더 나아가 함수에 인자 값들이 필요하기 떄문에 넣습니다.
int GetSize(TCHAR* Name)
int GetSize(std::string Name);
그런데 인자 값만 보고 타입을 알려주고 싶어집니다. 내부 코드를 감추고 싶조..
int GetSize(TCHAR* szName);
int GetSize(std::string ssName);
그래도 배운것이 있으니 명확하게 수정 안함!! 선언하고 싶네요 const 많이 사용 합시다!
int GetSize( const TCHAR* szName);
int GetSize( std::string ssName);
불필요한 CALL By Value에 의한 리소스 소모가 있습니다. 변경 합시다.
int GetSize( const TCHAR* szName);
int GetSize (const std::string& ssName);
이제 좀 더 확실하게 매크로를 이용, 내부에서 함수 인자들이 어떻게 사용되지는 알려주고 싶을 때 __in 을 넣어 줍니다.
int GetSize( __in const TCHAR* szName );
int GetSize(__in const std::string& ssName);
9. __out, __inout 사용 해보기 위한 단계
원형:
int GetFullName( TCHAR* szName, TCHAR* szFullName );
이름을 넘기면 전체 이름을 버퍼에 번환한다.
int GetFullName( TCHAR* pszName, TCHAR* pszFullName );
int GetFullName( TCHAR* _pszName, TCHAR* _pszFullName );
int GetFullName( const TCHAR* _pszName, TCHAR* _pszFullName );
int GetFullName( const TCHAR* _pszName, TCHAR* _pszFullName, int _nBufSize );
int GetFullName( __in const TCHAR* _pszName, __out TCHAR* _pszFullName, __in int _nBufSize );
int GetFullName( __in const TCHAR* _pszName, __out TCHAR* _pszFullName, __inout int& _nBufSize );
완성형
int GetFullName( __in LPCTSTR _pszName, __out LPTSTR _pszFullName, __inout int& _nBufSize );
" int형의 리턴 값을 가진 GetFullName이라는 함수는
const nullterminate TCHAR 형태의 값을 받고
nullTerminate TCHAR 형태의 버퍼를 할당 한뒤 버퍼의 포인터와 크기를 담은 변수를 넣어주면
_pzsFullName에 값이 담기고, _nBufSize에 해당 길이가 담겨 오는 함수 입니다. "
이 해석을 함수 명만 보고 알 수 있게 해야 합니다.
이것은 정답이 아닙니다. 실제 현업 코드는 이것보다 더 간결하고 좋게 만듭니다.
다른사람이 볼 코드라고 생각하고 코딩합시다.
- Total
- Today
- Yesterday
- cpu 이용률
- 디자인패턴
- 디자인 패턴
- 블록암호화
- bit
- C#
- 네트워크 연결
- 해시
- 블럭암호화
- 백터
- AES
- C++
- IV
- RSA
- cpu 정보
- 최우림
- C
- Project
- string
- 네트워크설정
- cpu 점유율
- 패턴
- 네트워크 카드 이름
- 알고리즘
- 암호화
- 대칭키
- C# 고급 기술
- absl-cpp
- 네트워크 정보
- C#.NET
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |