重构步骤
- 定义筛选方法:提取判断字符串长度大于5且包含特定子字符串的逻辑到一个独立方法,例如:
private bool IsEligibleString(string input, string subString)
{
return input.Length > 5 && input.Contains(subString);
}
- 定义转换方法:将特定格式转换的逻辑提取到一个独立方法,假设转换是将字符串首字母大写,其余字母小写,示例如下:
private string TransformString(string input)
{
return char.ToUpper(input[0]) + input.Substring(1).ToLower();
}
- 重构主逻辑:在主方法中使用上述两个方法进行筛选和转换,并存储到新列表,示例如下:
List<string> originalList = new List<string>();// 初始化原始列表
string subString = "特定子字符串";
List<string> newList = new List<string>();
foreach (string str in originalList)
{
if (IsEligibleString(str, subString))
{
string transformedStr = TransformString(str);
newList.Add(transformedStr);
}
}
重构的好处
- 提高代码可读性:将复杂逻辑拆分成多个小的、功能明确的方法,使得主方法逻辑更加清晰,易于理解。
- 增强代码可维护性:如果筛选条件或转换逻辑需要修改,只需修改对应的独立方法,而无需在冗长的主方法体中查找和修改,降低维护成本。
- 提高代码复用性:提取出来的方法可以在其他地方复用,例如在不同的业务逻辑中需要同样的筛选或转换逻辑时,直接调用即可。