Vb.net 在方法的签名中使用类或变量更好吗?
我经常想知道。就编写函数时的“最佳实践”而言,无论是在本地还是在模块/类中,最好使用:Vb.net 在方法的签名中使用类或变量更好吗?,vb.net,visual-studio,Vb.net,Visual Studio,我经常想知道。就编写函数时的“最佳实践”而言,无论是在本地还是在模块/类中,最好使用: Public Function WhichIsBetter(ByVal tmpUser As String, _ tmpPassword As String) As Boolean 'Do something End Function 或 如果之前没有对代码体系结构进行过分析,我总是从ByVal tmpUser作为字符串,tmpPasswo
Public Function WhichIsBetter(ByVal tmpUser As String, _
tmpPassword As String) As Boolean
'Do something
End Function
或
如果之前没有对代码体系结构进行过分析,我总是从
ByVal tmpUser作为字符串,tmpPassword作为字符串开始,然后查看代码是如何演变的
签名,看看代码是如何演变的。
如果您发现自己经常传递和tmpUser
,即每个函数都有这些参数的签名+其他内容,那么您可能需要传递一个用户对象。如果你碰巧在多个函数中经常添加相同的参数,则使用一个对象。 < P>如果没有对代码体系结构做任何先前的分析,我将总是以<代码> ByVal tmpUser作为字符串,TMPHOME作为字符串tmpPassword
如果您发现自己经常传递和tmpUser
,即每个函数都有这些参数的签名+其他内容,那么您可能需要传递一个用户对象。如果你经常把相同的参数添加到多个函数中,请考虑使用一个对象。这是风格的问题。我一直都在使用这两个函数,这取决于我使用函数的频率和/或函数的详细程度,但是否有任何“官方建议?”第二个代码片段不是有效的代码,函数必须在模块或类中编写。这两者之间有很大的区别,第二个必须使用Shared关键字才能等效。不要使用模块,它们只是为了与旧的VB代码兼容。将模块内部的声明添加到全局名称空间没有什么好处,这取决于上下文。如果传入的参数超过三个,那么应该开始查看后一个版本。但是,如果您希望其他用户将此函数用作公共API的一部分,那么在这种情况下,第一个函数可能更有意义。@HansPassant因此,如果我在应用程序中需要公共/全局变量,我应该在哪里声明它们?这是风格问题。我一直都在使用这两个函数,这取决于我使用函数的频率和/或函数的详细程度,但是否有任何“官方建议?”第二个代码片段不是有效的代码,函数必须在模块或类中编写。这两者之间有很大的区别,第二个必须使用Shared关键字才能等效。不要使用模块,它们只是为了与旧的VB代码兼容。将模块内部的声明添加到全局名称空间没有什么好处,这取决于上下文。如果传入的参数超过三个,那么应该开始查看后一个版本。但是,如果您希望其他用户将此函数用作公共API的一部分,那么在这种情况下,第一个函数可能更有意义。@HansPassant因此,如果我在应用程序中需要公共/全局变量,我应该在哪里声明它们?tmpPassword
Public Class User Public Property tmpUser As String Public Property tmpPassword As String End Class Public Function WhichIsBetter(ByVal tmpUser As User) As Boolean 'Do something End Function