提问人:chatay 提问时间:7/27/2023 更新时间:7/27/2023 访问量:26
提高嵌套 foreach 循环的可读性 - 我应该创建单独的方法吗?
Improve Readability of Nested Foreach Loops - Should I Create Separate Methods?
问:
我的 C# 项目中有一段代码,涉及嵌套的 foreach 循环。虽然它按预期工作,但由于它的复杂性,我发现它很难阅读和维护。我想知道将嵌套的foreach循环重构为单独的方法以提高代码可读性和可维护性是否是一个好主意。
代码如下:
foreach (Action action in actions)
{
foreach (User receiver in action.Receivers)
{
if (user != null)
{
string softwareName = "";
string server = "";
string messageText = "";
string messageSubject = "";
string messageLinkText = "";
messageText = string.Format(messageText, receiver.GetNameForEmail(), softwareName, "3", action.DueDate, action.Name, $"{server}", messageLinkText, action.GetNameForEmail());
if (messageText != "")
{
messageText = string.Format(messageText, user.Email);
Message message = _emailService.CreateMessage(new string[] { user.Email }, messageSubject, messageText);
await _emailService.SendEmailAsync(message);
}
}
}
}
1- 将嵌套的 foreach 循环分解为单独的方法以提高代码可读性是否被认为是最佳实践?
2- 将嵌套循环重构为单独的方法有什么好处?
3- 在为此类循环创建其他方法时,是否存在任何性能或开销问题?
您可以提供一些常规参考和资源来支持将嵌套循环重构为单独的方法或不:)
答: 暂无答案
评论
foreach(var recevier in actions.SelectMany(a => a.Receivers)) { .... }
user
receiver