전제 조건을 명시하자1 [C++ Core Guidelines] I.5, I.6 전제 조건을 명시하자 I.5: State preconditions (if any)I.6: Prefer Expects() for expressing preconditions 이유함수의 인자로 전달될 값들은 제약사항 (전제 조건) 이 있어야 하는 경우가 많습니다. 예시 (나쁜 예)double sqrt(double x); // x 는 반드시 양수여야 합니다위와 같이 제곱근을 구하는 함수가 있는데 x 가 양수여야만 계산이 가능하다고 가정한다면, C++ 의 타입 시스템만으로는 실수로 x 로 음수가 전달되는 것을 막을 수 없습니다. (참고로 unsigned double 자료형은 없습니다)주석은 쉽게 무시되기도 합니다. 예시 (좋은 예)double sqrt(double x) { Expects(x >= 0); /* ... */ }이상.. 2024. 5. 17. 이전 1 다음