refactor(interest): 计息 trace 命名对齐业界最佳实践

- InterestTrace → AccrualTrace:追踪对象是"计息过程"而非泛指的 Interest,与仓库
  既有的 SwapCalcTrace(-Trace 后缀约定) 及 AccrualContext/AccrualBoundary/AccrualPolicy
  家族一致;AccrualTrace 经 SwapCalcTrace.Write 常驻落盘,二者职责分清(收集器 vs 落盘通道)。
- InterestStep → AccrualTraceEvent、InterestTraceEntry → AccrualTraceEntry:
  条目类别对应 QuantLib/Strata 的"事件"概念(AccrualTraceEvent),命名自描述。
- SwapCalcTrace.Persist → Write:"Persist" 易误读为落库持久化;此处只是写入日志通道,
  且类内已有私有 Record(string),故用 Write 避免歧义。

纯改名、数值逻辑零改动;YLErpDAL + UnitTestProject 编译 0 错。
This commit is contained in:
hjhan
2026-08-12 07:05:41 +08:00
parent be3be877ec
commit 5dc8bdbf9e
5 changed files with 23 additions and 23 deletions
+2 -2
View File
@@ -86,11 +86,11 @@ namespace YLErp.Modules.SwapModule
public static string DumpForRequest() => _reqBuf.Value?.ToString() ?? "";
/// <summary>
/// 把纯函数产出的 <see cref="InterestTrace"/> 常驻落盘(关键路径日志)。
/// 把纯函数产出的 <see cref="AccrualTrace"/> 常驻落盘(关键路径日志)。
/// 每条目经 <see cref="Critical"/> 写出——<b>无条件</b>落盘,与开关无关;
/// 开关打开时同时进内存 buffer 供实时查看 / 单测断言。这是事后 diff 新旧引擎的主通道。
/// </summary>
public static void Persist(InterestTrace? trace)
public static void Write(AccrualTrace? trace)
{
if (trace == null) return;
foreach (var entry in trace.Entries)