[Philosophy]
P.1 코드에 생각을 직접적으로 표현해라
class Date{
public:
Month month() cosnt; //do
int month(); //don't
};
int month()의 문제는 메소드를 사용하는 사람에게 추측을 남긴다.
그리고 Month mont()함수에 붙은 const 키워드를 통해 해당 함수는 객체의 상태를 변경하지 않는다는 것을 명시했다.
// bad
int index = -1;
for(int i = 0 ; i < v.size(); ++i)
{
if(v[i] == val)
{
index = i ;
break;
}
}
// better
auto p = find(begin(v), end(v), val);
잘 구현된 라이브러리가 있는 경우 그것을 사용하는 것이 더 바람직하다.
for 문과 index를 직접 사용하기 보다 find 함수를 사용하여 구현한다.
Guidlines : Enfocement
1. 클래스의 맴버함수를 확인하여 객체를 변경하지 않는 맴버함수에 cosnt를 붙인다.
2. int, double 등의 기본형 외 Month, Speed 등과 같이 의미를 알 수 있는 자료형을 만들어 사용한다.
3. standard 라이브러리를 활용하도록 노력한다.

'기타 프로그래밍' 카테고리의 다른 글
[C++] 문자열의 거의 모든 것 (0) | 2022.05.12 |
---|---|
[C++] 표준 자료구조(컨테이너) vector, list, deque(queue) (0) | 2022.05.12 |
[C++] const vs constexpr | 상수 선언하기 (0) | 2022.05.11 |
[C++] C++ Core Guidelines (C++ 핵심 가이드라인) - P.2, P.3 (0) | 2022.02.22 |
[C++] 배열의 call by reference (0) | 2022.01.10 |
댓글