这是干净的代码吗?(.净,c#)

本文关键字:代码 | 更新日期: 2023-09-27 17:50:41

在我们的一个项目中,我发现了以下代码

class A 
{
     private B b = new B();
     protected void AMethod()
     {
         var x = b.DomeSome();
     }
}
我的问题是,这是一种"干净"的编码方式吗?在method中实例化b会更简洁吗?是依赖吗?

这是干净的代码吗?(.净,c#)

如果在AMethod中创建b的实例,则在AMethod结束后该变量将丢失。所以每次调用AMethod都会创建一个新的对象b。

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

没有确切的答案如何更干净,除非你提供给我们更多的背景

如果DomeSome改变了B的状态,如果B在每次调用AMethod时都被实例化,那么逻辑将会不同。

对于给定的代码量:代码是干净的,它取决于。

在method中使用实例b会更简洁吗?

就不一样了。在当前代码中,A被实例化时b也被实例化。

list依赖吗?

是的

是,这完全取决于你的要求。B类型的b变量可能在其他地方也需要,因此它已在Class中声明。

clean coding上没有硬性定义的规范。保持编码,只要它简洁,可理解,并做它需要做的。

我还假设您已将变量名称更改为A &张贴在这里…如果这些存在于实际代码中…现在就改!!