这是干净的编码吗? (.Net,C#)

时间:2011-04-18 16:13:35

标签: c#

在我们的一个项目中,我找到了这段代码

class A 
{
     private B b = new B();

     protected void AMethod()
     {
         var x = b.DomeSome();
     }
}

我的问题是,这是一种“干净”的编码方式吗?在AMethod中实例化b会更清晰吗? 是依赖吗?

4 个答案:

答案 0 :(得分:2)

如果您在AMethod中创建了b的实例,则AMethod结束后变量将丢失。因此,AMethod的每次调用都会创建对象B。

另一方面,在类级别声明变量(如在您的示例中)将允许您为AMethod的所有调用重用B的实例。

除非您为我们提供更多背景信息,否则没有关于如何清洁的确切答案

答案 1 :(得分:2)

如果DomeSome更改了B的状态,则在B的每次调用都AMethod实例化时,逻辑会有所不同。

给出了这么多代码:代码很干净,取决于它。

答案 2 :(得分:1)

  

AMethod中的例子b会更清晰吗?

会有所不同。在当前代码中,当实例化A时实例化b。

  

有依赖吗?

答案 3 :(得分:0)

是完全取决于你的要求.. b类型的B变量也可能在其他地方需要,所以它已在{{1}中声明}。

Class上没有明确定义的规范。只要简洁,易懂并且做它需要做的事情,就要保持编码。

此外,我假设您已将变量名称更改为A& B在这里发布..如果它们存在于实际代码中..现在改变!!