创建新对象最佳实践

时间:2014-07-17 19:56:01

标签: c# asp.net asp.net-mvc

有时我会在方法调用中实例化一个新对象,以简化代码,而不是将新对象分配给变量。做一个或另一个有什么缺点?

T myobj = new T();
elements.Add(myobj);

- VS -

elements.Add(new T());

1 个答案:

答案 0 :(得分:0)

稍后需要参考

正如adaam在评论中提到的,如果您需要保留对象的引用,因为您将使用它,那么最好这样做。

T myobj = new T();
elements.Add(myobj);
T.DoStuff(); //this might need to happen further down in the code, so keeping the reference is handy. Otherwise we'd have to dig it out of the elements. And you might be thinking "well, I don't need to reference it later in the code." But what if you're refactoring the code and it requires some modification? Now you'll need to change it, rather than having done it with a separate declaration in the first place.

调试

常见的情况是当您使用调试器单步执行代码时。很难看到以这种方式创建的对象的属性。

elements.Add(new T());

如果给出了自己的参考,如果代码编写如下,您可以轻松使用IDE的调试工具来检查值:

T myobj = new T();
elements.Add(myobj);

可读性

选择一个而不是另一个的另一个原因是可读性。那个是基于意见的,但你应该问你正在使用的团队哪个更具可读性,以确定要遵循哪种做法。在Stack Overflow上询问更好的内容是不合适的。