[%]
c++ 이런상황에서 네이밍 뭐를 더 선호함?
익명(122.199)
2021-02-27 17:53
추천 0
이런 상황 꽤 자주 있는데 기본 클래스가 있고 실제론 그걸 상속한 템플릿 클래스를 사용함.
그런 경우에 내가 아는 한 네이밍 보통 이 두가지를 많이 쓰는데
// 1안
class First {};
template<typename asdf
>
class FirstImpl : First {}; // 혹은 First_impl 등등
std
::vector
<std
::unique_ptr
<First>> firsts
;
// 2안
class SecondBase {}; // 혹은 Second_base 등등
template<typename asdf
>
class Second : SecondBase {};
std
::vector
<std
::unique_ptr
<SecondBase>> seconds
;
뭐를 더 선호함?
2번 실제로 쓰는 코드를 간결하게 하는게 좋음
근데 많은 코드가 위 방식대로 구현하는듯. 일종의 컨벤션
1은 보통 base class만 노출시킬 때 많이 씀
2가 더 깔끔한듯
난 둘 다 써본 듯
난 무조건 2번이라고 생각함. 1번처럼 Impl만 약어로 뒤에 붙이면 오히려 조사가 헷갈릴 때도 있음
2