gpt4 book ai didi

language-agnostic - 在 .NET 中重构大型方法

转载 作者:行者123 更新时间:2023-12-04 05:15:19 27 4
gpt4 key购买 nike

如果我有一个大型 .NET 方法,我想知道将其拆分为多个方法是否是一种好习惯。我的担忧是:
1 - 如果只调用一次方法,创建方法有什么意义吗?
2 - 如果我在我的类中调用私有(private)方法,我尽量不使用实例变量。这是好还是坏的做法?例如:

var a, b;
public void TestMe
{
FirstTest(a,b);
}
private void FirstTest(paramA, paramB)
{
//code here with passed in parameters
}

//instead of:
private void FirstTest()
{
//code here with instance variables a,b
}

编辑:用实例替换全局

最佳答案

关于您的第一个问题,降低方法的复杂性是将大方法分解为小方法的充分理由。较小的方法比单一的大方法更容易理解。如果做得好,通过将方法分解成逻辑上一致的工作单元,在几乎所有情况下,许多小方法都比单个大方法更可取。唯一可能不是这样的情况是,它是否会影响您的表现,以至于从该角度来看,它不再可以接受。

关于第二个问题,正如@Jason 指出的那样,您在类中使用的是实例变量而不是全局变量。我想说哪种做法更受欢迎取决于方法的上下文。当然,如果该方法可以在许多上下文中重用,只有其中一些对实例变量进行操作,则应该对其进行参数化。如果您只使用实例变量,您可能会选择不使用参数,并在以后根据需要进行重构以提高可用性。

在 C# 中,我也更喜欢使用实例 房产 超过 字段 , 进一步将属性与使用它的方法分离。

关于language-agnostic - 在 .NET 中重构大型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2412236/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com