bool SetDeviceData( bool get, int iPkIdx) { if( iPkIdx > NUM_OF_PICKER ) { LOG_PRINTFW("INSP",L"Set Device Index[%d] Over Check", iPkIdx ); return false; } //--------------------------------------------------------------------------- // ���� ���� if( get ) // ������ ��� { XEdit *apE[]= { F_SS->E_Dv1, F_SS->E_Dv2, F_SS->E_Dv3, F_SS->E_Dv4, F_SS->E_Dv5, F_SS->E_Dv6, F_SS->E_Dv7, F_SS->E_Dv8, F_SS->E_Dv9, F_SS->E_Dv10, F_SS->E_Dv11, F_SS->E_Dv12, F_SS->E_Dv13, F_SS->E_Dv14, F_SS->E_Dv15, F_SS->E_Dv16, }; for ( int i=0 ; i<NUM_OF_PICKER ; i++) { Dev[i].DeviceType = (DEVICE_STATUS)apE[i]->GetInt(); DM_X->m_iLoadingCount++; if( F_SS->CB_Idle->XChecked ) Dev[i].HaveDevice=true; } } else // �ٶ� { if( iPkIdx < 0 ) { for ( int i=0 ; i<NUM_OF_PICKER ; i++) SORT::Dev[i] = Dev[i]; } else { SORT::Dev[iPkIdx] = Dev[iPkIdx]; } } return true; } | |
어느 프로젝트의 시퀀스 소스에서 사용하는 함수이다.
이 함수 이름만 봤을때 SetDeviceData라는 함수가 무슨 기능을 하는것인지 잘 이해가 되는가?
사소하지만 함수 이름때문에 소스 분석하는 사람이 힘들어진다.
함수 이름이 SetDeviceData()이고 파라메터 이름에 get이란것이 있으니.. 함수 정의 자체에 Set과 get이라는 반대 개념의 단어가 동시에 들어가 있는 상태이다.
이런 경우 함수의 이름만 봤을때는 이 함수가 뭘하려는건지 의도가 혼란 스럽기 때문에
아예 함수를 별도로 분리하거나 함수 이름을 변경하는것이 났지 않을까 한다.
기능을 봤을때는 MoveDeviceData()나 CopyDeviceData() 정도의 함수 이름이 더 어울리지 않을까?
이 블로그는 소스 코드를 분석하다가 떠오른 생각, 느낌, 의견 등을 올린것입니다. - 이성열 - 2012.10.11
'개발이야기' 카테고리의 다른 글
코드 리뷰를 잘하기 위한 방법 5가지 (0) | 2023.03.30 |
---|---|
장비 제어 소프트웨어 개발에 관한 몇 가지 조언 (3) | 2013.05.29 |
On / Off 상태 표시 UI에 대한 단상 (0) | 2012.10.02 |
Doxygen 기본 설정법 (v 1.7.4 기준) (0) | 2012.03.17 |
업무 공유를 하지 않으면 일도 안한것이다. (0) | 2011.07.31 |