重用变量

我正在研究需要多次调用相同方法的项目,但使用不同的参数。

我可以使用相同的变量,还是必须声明另一个变量?

例如:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(domains["ServiceLogin"]); req.Method = "GET"; req.Referer = "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0"; req.CookieContainer = new CookieContainer(); HttpWebResponse response = (HttpWebResponse)req.GetResponse(); CookieCollection cookies = response.Cookies; response.Close(); 

等等..

我是否使用req变量或声明req2为例

  req = (HttpWebRequest)WebRequest.Create(domains["ServiceLogin"]); req.Method = "POST"; req.CookieContainer = myCookieContainer; 

这样做的最佳方式/做法是什么?

局部变量很便宜; 不必要地重复使用它们没有令人信服的好处。 因此:编写代码以使每个变量具有明确的目的,并且该目的由其名称描述。 一旦每个变量的名称描述了它的用途,就会更清楚地知道是否需要一个变量或多个变量。

可以重用该变量 – 您可能会考虑不这样做,并将它们各自命名,以便您知道每个请求的责任,即reqLoginreqData 。 从长远来看,这使得我认为代码更具可读性。

我会去宣布一个新的变量。 这样,如果有人碰巧快速注视代码,那么他们就不会感到困惑,或者不得不花费很长时间才能解决他们两个不同的请求。

我想我会提取一种或者不同的方法,就必须看到更多的代码,例如

 var getDataRequest = CreateGetDataRequest(); var postRequest = CreatePostRequest(); 

或者这可能是一个带有一些参数的方法

变量很便宜,除非它们令人困惑。 变量最重要的特征之一是它的范围,它在重用时会被混淆。 不要专注于重用某些东西,因为它具有相同的类型; 这就像重复使用餐巾纸一样(eew!)。 专注于他们解决的问题(衬衫与我朋友的泄漏)。

我将是绝对的: 永远不要重复这样的变量。 它可以防止问题的正确隔离,并使代码更难以阅读,更难以改变。 想想你以后是否想要重构代码(你应该已经这样做了)并将每个部分封装在自己的方法中。 重用相同的变量只会妨碍…

恕我直言,在这种情况下没有最佳做法。 对于您和将来的编码人员来说,代码应该是可读且方便的。

如果它们不重叠,您也可以使用相同的变量。 它没有什么区别,所以选择最具可读性的东西。

每次调用CreateWebRequest都会创建一个新对象 ,这才是最重要的。

这实际上取决于问题的答案“我以后仍然提到req是否重要?” 换句话说,你是否需要再次打电话给任何东西? 如果答案为否,请不要声明新变量。 如果答案是肯定的,那么将所有请求存储在List或其他可以管理请求的数据结构中。