在我们的项目之一,我发现这个代码这是干净的编码吗? (.NET,C#)
class A
{
private B b = new B();
protected void AMethod()
{
var x = b.DomeSome();
}
}
我的问题,这是编码的一个“干净”的方式?在AMethod中实例化b会更干净吗? 是取决于吗?
在我们的项目之一,我发现这个代码这是干净的编码吗? (.NET,C#)
class A
{
private B b = new B();
protected void AMethod()
{
var x = b.DomeSome();
}
}
我的问题,这是编码的一个“干净”的方式?在AMethod中实例化b会更干净吗? 是取决于吗?
如果您在创建一个AMethod
B的实例,那么该变量将后AMethod
结束丢失。所以AMethod
每次调用将创建一个新的对象 B.
在另一方面,具有一流水平的声明的变量(如在你的例子)将允许你重用B的实例的所有呼叫AMethod
。
没有就如何更干净,除非你向我们提供更多的背景
是它完全取决于在你的要求..这可能需要B
类型的b
可变别的地方也因此它在Class
被宣布。
而且clean coding
没有硬定义的规格。保持编码,只要它的简洁,可以理解并做它需要做的事情。
此外,我假设你已经更改变量名称为A & B张贴在这里..如果这些都存在于实际的代码..现在改变!
AMethod中的实例b会更干净吗?
它会有所不同。在当前的代码中,当A被实例化时,b被实例化。
是否取决于?
是
如果DomeSome
改变的B
状态的逻辑是不同的,如果B
是对AMethod
每次调用实例确切的答案。
给出了这么多的代码:代码是干净的,它取决于。
该示例太抽象,无法对图案的清洁度发表任何评论。 – SuperIronBob 2011-04-18 16:15:23
当域名无意义时,很难讨论这样的设计问题。请张贴一个有意义的例子,即没有B的不是A的不是DomeSome的,而是代表某事的类。 – 2011-04-18 16:16:10
codereview.stackexchange.com是这些类型的问题的好网站。 – 2011-04-18 16:16:57