我最近发现,对于某些类型的财务计算,以下模式更容易遵循和测试,尤其是在我们可能需要从计算的各个阶段获取数字的情况下。
public class nonsensical_calculator
{
...
double _rate;
int _term;
int _days;
double monthlyRate { get { return _rate / 12; }}
public double days { get { return (1 - i); }}
double ar { get { return (1+ days) /(monthlyRate * days)
double bleh { get { return Math.Pow(ar - days, _term)
public double raar { get { return bleh * ar/2 * ar / days; }}
....
}
显然,这通常会导致在给定公式中多次调用同一访问器。我很好奇编译器是否足够聪明,可以优化这些重复调用而不会改变状态,或者这种风格是否会造成不错的性能损失。
进一步的阅读建议总是受欢迎的