获取一些数据并保存到文件的最佳方法,一两个方法

本文关键字:方法 一两 数据 获取 存到文件 最佳 | 更新日期: 2023-09-27 18:15:00

我有一些代码如下:

在PaymentsController中:
[HttpPost]
public void GeneratePaymentData(IList<int> paymentIds)
{
  string paymentSummaryFileName;
  var results = _paymentsPort.GetPaymentData(paymentIds, out paymentSummaryFileName);
  _fileUtilities.SaveToFile(results, _appSettings.paymentFileSaveLocation, paymentSummaryFileName);
}

它的作用是获取一些支付数据并通过out参数返回要保存的文件的名称。然后将数据保存到一个文件中。

我的一个同事告诉我,我在这里做的很糟糕。他的理由是,我的代码可能会给控制器提供错误的文件名给save方法。

我不同意这一点,因为我有单元测试,确保out参数的文件名与传递给SaveToFile的文件名相同。

他建议我在GetPaymentData中进行保存。

我不同意这一点,因为我认为这会更难进行单元测试。目前,很容易测试从GetPaymentData返回的内容是否正确,但如果此方法不返回数据,而只是将其保存到文件中,这将更难。

谁对?这只是风格不同的问题,还是一定有人做错了?

获取一些数据并保存到文件的最佳方法,一两个方法

您编写了自己的单元测试,因此您倾向于在测试和生产代码中做出相同的错误假设。单元测试不是圣杯,它是达到目的的一种手段。

解决这个讨论的一个方法是:让你的同事用你的方法写一个单元测试,但是失败了。你俩都会从中吸取教训的。