我有一个名为 SolarPosition
的类,它有很多成员函数。我目前有一个名为 CalculateSolarAzimuthAndAltitude
的成员函数,它是重构的主要候选对象。
我发现将其重构为 CalculateSolarAzimuth
和 CalculateSolarAltitude
的唯一方法是添加额外的十个成员变量,因为这两个函数都使用了一些初步计算。
我应该对具有两个职责的成员函数感到满意,还是多个 transient 成员变量是合理的牺牲以将其拆分?
最佳答案
我的建议是将职责拆分为两个成员函数。如果引入十个额外的 transient 变量,您可以定义一个结构将它们组合在一起,并在 SolarPosition 类中定义该结构的成员。这也将提高可读性。
如果您仍想通过在类声明中隐藏内部数据变量来使 SolarPosition 类更简洁,请参阅 pimpl-idiom。如需更多信息,请访问:Is the pImpl idiom really used in practice?
关于c++ - 我应该争取具有单一职责的成员函数还是尽量减少成员变量的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42701548/