Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.NET:是否可以将函数分成多个部分?_.net_Vb.net - Fatal编程技术网

VB.NET:是否可以将函数分成多个部分?

VB.NET:是否可以将函数分成多个部分?,.net,vb.net,.net,Vb.net,有没有可能把一个函数分成几个部分,像这样 Function myFunc Section Dim i As Integer = 0 ... End Section Section Dim i As Integer = 0 ... End Section End Function 我意识到这可以用 If True Then Dim i As Integer = 0 ... End If 但这看起来像是一个黑客 我这样做是错误的吗?我

有没有可能把一个函数分成几个部分,像这样

Function myFunc

  Section
    Dim i As Integer = 0
    ...
  End Section

  Section
    Dim i As Integer = 0
    ...
  End Section

End Function
我意识到这可以用

If True Then
  Dim i As Integer = 0
  ...
End If
但这看起来像是一个黑客


我这样做是错误的吗?

我建议将“部分”重构为单独的函数或子函数,并根据需要调用它们。事实上,您希望将此功能分离,这似乎突出了重构的机会……

听起来您需要将功能分离为。。。更多功能

如果您在一个函数中执行了太多操作,则很难对其进行维护。您的函数和方法应该真正用于完成一项任务或一个特定的函数。除此之外,您应该将其拆分为多个函数


尝试为函数指定一个文字名称,例如
CreateDatabaseConnection
。如果你有一个名字,比如<代码> CreateDatabaseConnectionAndSelectContacts <代码>(即名字中的‘and’’),它可能是重构的候选。

这是你认为在这样的每种情况下最好的做法吗?@ IC3B3RG:我不是列得所说的,但我会说“绝对”!如果你想知道原因,请阅读罗伯特·马丁的《干净的代码》一书()@ic3b3rg:很可能是的。一般来说,如果你能把你的函数分成更小的函数,你应该这样做。这使它们更易于维护,更易于测试。它还帮助函数更紧密地遵循SRP(请参见:)我是否应该将函数更改为类?然后我可以将它和所有子函数封装到一个类中?@ic3b3rg:如果你的函数作为一个类是有意义的,那么是的。如果这个函数依赖于类中的其他数据,并且“逻辑上”依赖于它所在的类的操作,那么我就不去管它,只把它拆分。(你问的事实表明“是”,但如果没有更多的信息,很难知道什么是最好的…)