有一个只有属性的类是否可以?

Xai*_*oft 0 c# oop

我的方法超过700多行.在该方法的开头,声明了大约50个局部变量.我决定将局部变量取出并将它们作为属性放入一个单独的类中,这样我就可以在方法中声明该类并在其中使用属性.这是完全正常还是其他数据类型适合这里,如结构?此方法是在经典ASP时代编写的.

mle*_*rle 8

嗯...我认为你可能会更好地重构方法,而不必对这么多变量进行操作.例如,对10个变量进行操作的五种方法各自会无限好.就目前而言,感觉就像你只是试图掩盖一个问题而不是解决它.


Ed *_* S. 8

我的方法超过700多行.在该方法的开头,声明了大约50个局部变量.

好的,那么,该方法的长度也是一个问题.700线是太多了,不能同时保持一个正常人的头部直线.当你必须在那里修复一个bug时,你最终会上下滚动和上下......你明白了.这真的让事情难以维持.

所以我的答案是,是的,你应该把你的数据分成某种结构,假设它实际上是有意义的(即,我可能不会创建一个SomeMethodParmaters类).接下来要做的是将该方法拆分成更小的部分.您甚至可能发现不再需要数据结构,因为现在每个方法只需要为其需要的工作声明一些变量.

此外,这是主观的,但实际上没有充分的理由在方法的顶部声明所有变量.尝试将它们声明为尽可能接近实际使用时间.同样,这只是为了将来的维护保持良好和清洁.当你可以在屏幕上看到它时,更容易专注于一段代码.