많은 멤버 함수가있는 SolarPosition
클래스가 있습니다. 현재 리팩토링을위한 주요 후보자 인 CalculateSolarAzimuthAndAltitude
이라는 멤버 함수가 있습니다.하나의 책임으로 멤버 함수 중 하나를 위해 노력해야합니까, 아니면 멤버 변수의 수를 최소화해야합니까?
나는 추가로 열 개 멤버 변수를 추가하는 것이 었습니다 일부 예비 계산이 두 기능에 의해 사용되는 것과 유일한 방법은, CalculateSolarAzimuth
및 CalculateSolarAltitude
로 리팩토링하는 것을 발견했다.
두 가지 책임이있는 멤버 함수에 만족해야합니까, 아니면 여러 개의 과도 멤버 변수를 분할하여 합리적인 희생을 제공해야합니까?
왜'getX' 대신에'CalculateX'를 사용합니까? 'getX' 또한'const' 일 것이고, 멤버 변수는 변하지 않을 것입니다. 캐시하지 않으면 않는 한, 멤버 변수와 복잡한 논리가 있어야합니다. – nwp
'CalculateSolarAzimuthAndAltitude'는 인자를 취합니까? –
그것은 (당신은 다른 하나를 부르지 않고 두 중 하나를 호출하는 유즈 케이스가 있습니까?) 및 의견에 달려 있습니다. 두 개의 서로 다른 함수를 하나로 모으는 예제로'std :: minmax_element'를 인용합니다. 왜냐하면 함께 모여 들기 때문에 성능이 크게 향상되기 때문입니다. – user4581301