팁 1
·
Programming/ETC
1. 한 개의 함수가 한 가지의 명확한 기능을 수행하는가? 하나의 함수가 여러 기능을 수행한다면 나쁜 함수. 하나의 함수/메서드는 논리적으로 구분되는 가장 작은 단위의 작업을 처리하는 것이 이상적이다. 2. 함수에 전달되는 Parameter가 적절한가? 3. Parameter의 올바른 IN/OUT 설정 4. 함수의 return이 명확한가? 5. 함수가 적절한 기능 단위로 잘 분리되어 있는가? 예를 들자면, 함수 안에 여러 함수들이 있을 수 있는데, 이때 각각의 함수의 역할이 명확하게 분리되어 있는지 확인 6. 함수의 쌍이 존재하는가? (선택적) 예를 들자면, insert라는 함수가 있는데, delete 함수가 없으면(삭제 코드가 함수가 아닌 다른 곳에 있는 경우 등) 뭔가 이상함. 7. 불필요한 최적화코..
오버로드
·
Programming/ETC
오버로드 : 함수의 이름은 같지만 다른 역할을 하는 함수. 입력(매개변수의 개수, 자료형 등)이나 출력 중 하나라도 형태가 달라야 한다. int sum(int a, int b) { return a+b; } // 함수의 오버로딩 int sum(int a, int b, int c) { return a+b+c; } int main() { printf(sum(1,2)); printf(sum(1,2,3)); } 장점 1. 같은 이름으로 다양한 형태의 입력에 대응할 수 있다. 2. 내부 동작은 비슷한데 굳이 함수를 다른 이름으로 여러개로 나눌 필요가 없기 때문에 혼동을 줄일 수 있다.
Call by Reference, Call by Value, Call by Address
·
Programming/ETC
함수 호출 시에 인수를 전달하는 방법들 1. Call by Reference or Call by Address (둘 사이에 차이점은 있음) 함수로 원본 변수가 바로 전달되는 방식. 포인터를 통해 인수로 주소값을 전달하면, 함수의 매개변수의 값을 변경할 때 원본 함수도 영향을 받게 된다. 2. Call by Value 함수의 인수로 받은 값을 함수의 매개변수로 복사한다. 이때 함수의 인수가 변수라면, 함수의 인수와 함수의 매개변수는 서로 다른 메모리 공간을 사용하므로 함수 내에서 아무리 매개변수의 값을 변경하더라도 인수로 전달된 원본 변수에는 아무런 영향을 주지 않는다.
snwdaaa
'Programming/ETC' 카테고리의 글 목록