항목 32. 변수 정의는 가능한 뒤로 늦춰라
우선
1. C 철학에 따르자면 변수의 정의는 블록의 시작부분에 놓아야 한다!
필자는 이제 그 철학은 버리라고 말한다(.. 여간 내기가 아닌데!)
이유
1. 부담스럽다.
- 변수 선언은 생성자를 동반하고, 소멸자도 동반한다. 많으면 많을수록 부담스럽다.
2. 부자연 스럽다.
- 아직 쓰지도 않을 변수를 미리 하여, 가독성을 떨어 뜨린다.
해결 방법
1. 가능한 변수 정의가 필요할때까지 코딩하다가 필요할대만 정의하여 사용한다!
필자의 생각
1. 이제 블록을 열자마다 변수를 정의하는 습관자체를 버릴 때다!
개인적 생각
1. 조건문 안에서는 변수 선언이 안된다! 잘 파악해서 최대한 미루어 변수 선언하라는 뜻이다.
1. 확인해 보았는데, VC2005 C++ 에서 조건문 안에서도 변수 선언이 되는것으로 파악했다. 이제는 더 상세하게 변수를 가지고 놀수가 있게 되었다. (수정 2008.05.12 11시 쯤)
2. 이건 완전 보물이다! Tistory 역시 보물이듯이!
3. 디폴트 생성자의 초기화(치환이 아니다!)를 할수 있다면 그렇게 처리하는게 훨쓴 이득이다!
우선
1. C 철학에 따르자면 변수의 정의는 블록의 시작부분에 놓아야 한다!
필자는 이제 그 철학은 버리라고 말한다(.. 여간 내기가 아닌데!)
이유
1. 부담스럽다.
- 변수 선언은 생성자를 동반하고, 소멸자도 동반한다. 많으면 많을수록 부담스럽다.
2. 부자연 스럽다.
- 아직 쓰지도 않을 변수를 미리 하여, 가독성을 떨어 뜨린다.
해결 방법
1. 가능한 변수 정의가 필요할때까지 코딩하다가 필요할대만 정의하여 사용한다!
필자의 생각
1. 이제 블록을 열자마다 변수를 정의하는 습관자체를 버릴 때다!
개인적 생각
1. 조건문 안에서는 변수 선언이 안된다! 잘 파악해서 최대한 미루어 변수 선언하라는 뜻이다.
1. 확인해 보았는데, VC2005 C++ 에서 조건문 안에서도 변수 선언이 되는것으로 파악했다. 이제는 더 상세하게 변수를 가지고 놀수가 있게 되었다. (수정 2008.05.12 11시 쯤)
2. 이건 완전 보물이다! Tistory 역시 보물이듯이!
3. 디폴트 생성자의 초기화(치환이 아니다!)를 할수 있다면 그렇게 처리하는게 훨쓴 이득이다!
'책 정리 > Effective C++ 2판' 카테고리의 다른 글
항목 36. 인터페이스 계승과 구현의 차이점을 이해해라 (0) | 2008.05.12 |
---|---|
항목 35. public 계승이 isa를 모델링하도록 하라. (0) | 2008.05.11 |
인스턴스와 객체지향 설계 (0) | 2008.05.11 |
34. 파일간의 컴파일 의존성을 최소화 하라 (0) | 2008.05.11 |
항목 33. 인라인을 선별적으로 사용하라. (0) | 2008.05.10 |
항목 31. 지역 객체에 대한 참조나 함수 내에서 new를 이용해 초기화된 포인터를 가리키는 참조를 리턴하지 말라 (0) | 2008.05.10 |
항목 30. 접근하기 어려운 멤버에 대한 비상수 포인터나 레퍼런스를 리턴하는 멤버 함수 사용을 피해라 (0) | 2008.05.10 |
항목 29. 내부 데이터에 대한 "핸들"을 리턴하는 것을 피해라 (0) | 2008.05.10 |
클래스와 함수 : 구현 (0) | 2008.05.10 |
항목 28. 전역 네임스페이스를 분활한다. (0) | 2008.05.10 |
최근댓글