강좌 & 팁
글 수 2,412
2014.09.26 14:57:12 (*.134.169.166)
39623
파일 개수를 알려 주는 전역 변수 int file_count; 가 있습니다. 그리고 파일 개수 file_count 만큼
파일 이름을 출력하는 show_file_name() 함수를 만든다고 했을 때 file_count 변수를
인수로 넘겨 처리하는 것이 좋을까요? 아니면 전역 변수 file_count를 사용하는 것이 좋을까요?
두 방법 중에 어느 하나가 좋거나 옳다교 비교하여 말할 수 없겠습니다.
최고의 코딩 방법은, 글쎄요, 코딩에 따라 달라지기 때문에 없다고 생각합니다.
그러나 두 가지 방법 중에 선호하는 방법으로 말씀 드린다면 전역 변수라도
인수로 전달하는 것이 좋습니다.
이유는 show_file_name() 함수를 다른 모듈로 이동할 수 있고
또는 라이브러리에 포함할 수 있기 때문이죠.
만일,
void show_file_name( void)
{
int ndx;
for ( ndx = 0; ndx < file_count; ndx++){
printf( "file_name[%d]=%s\n", ndx, ary_file_name[ndx]);
}
}
라고 했다면 전역 변수를 사용할 수있는 곳에서만 사용할 수 있는 함수입니다.
그러나,
void show_file_name( int var_file_count){
}
했다면 다른 곳으로 이동해도 문제 없겠지요?
그래서 함수가 전역 변수를 사용한다고 해도 가독성을 현저하게 떨어 뜨리지 않느 이상
인수로 받아 처리하는 것이 좋습니다.