【发布时间】:2015-04-10 12:57:07
【问题描述】:
我需要做一些重构(实际上是很多,但是这个小步骤将对整个过程非常有帮助)。所以,假设我有这个代码 sn-p:
If xmlDoc.SelectSingleNode("/dang") IsNot Nothing Then
universalNode = xmlDoc.SelectSingleNode("/dang")
Type = "dang"
ElseIf xmlDoc.SelectSingleNode("/nang") IsNot Nothing Then
universalNode = xmlDoc.SelectSingleNode("/nang")
Type = "nang"
ElseIf xmlDoc.SelectSingleNode("/lang") IsNot Nothing Then
universalNode = xmlDoc.SelectSingleNode("/lang")
Type = "lang"
ElseIf xmlDoc.SelectSingleNode("/tang") IsNot Nothing Then
universalNode = xmlDoc.SelectSingleNode("/tang")
Type = "tang"
ElseIf xmlDoc.SelectSingleNode("/xtang") IsNot Nothing Then
universalNode = xmlDoc.SelectSingleNode("/xtang")
Type = "xtang"
End If
它在一个大函数的主体中,我想把它放到一个单独的函数中。所以,我想知道是否最好同时传递universalNode 和Type 并只为它们分配值,而不需要返回任何东西?这会奏效还是有风险?
如果只是我正在处理的Type,即,我会返回它,但要更改的变量不止一个,而且都是大函数的局部变量,从中我正在取出这段代码 sn-p。
还有其他建议吗?
【问题讨论】:
标签: vb.net refactoring pass-by-value