VB6程序员选项严格和.NET

我正在准备Visual Basic 2005上的一个类,目标Visual Basic 6程序员迁移到.NET平台。
我想要一个关于是否推荐他们始终启用Option Strict的建议。
我专门使用C风格的编程语言,主要是Java和C#,所以对于我来说,我明确的表达是我一直期望的,因为它从来不是一个选择。但是,我认识到使用一种语言的价值内置了对后期绑定的支持,因为不必对代码中的类型过分明确地节省时间。动态类型语言的流行扩散进一步证明了这一点,即使在具有动态语言运行时的.NET平台上也是如此。

考虑到这一点,如果第一次使用VB.NET和VB6背景的人应该考虑到必须使用编译时类型检查的思维方式,因为这是“最佳实践” CLR?还是继续享受晚期绑定的好处是“OK”

是!选项严格绝对是.Net的最佳做法。强调.Net是核心的强类型平台,直到DLR得到更全面的支持。除了少数例外,每个Dim和Function都应该有一个明确的类型声明为它。像LINQ或Boo和JScript这样的事情是证明规则的例外。

这里还有其他一些要指出的事情。我相信你很清楚这一切,但我不得不与以前的VB6ers编写的很多VB.Net代码一起工作,所以这对我来说是一个很痛苦的地方:

>不要使用旧的字符串函数:LEN(),REPLACE(),TRIM()等
>不再推荐匈牙利疣。 oMyObject和sMyString不是犹太教的。如果他们不相信,请在Microsoft’s Design Guidelines显示参考。
>确保他们了解新的AndAlso / OrElse逻辑运算符
> ParaMETERIZED QUERIES和现代ADO.Net。不能强调。他们不应该再次调用CreateObject()。
>范围在.Net中的作用与VB6不同(并且更重要)。 VB.Net仍然有模块,但它们现在更类似于一个静态类。了解如何在面向对象的环境中开发不同于VB6提供的部分OOP支持。没有什么好的理由允许方法运行到不客气的长度。
>确保他们得到泛型和接口(包括IEnumeralbe(Of T))的介绍,并了解为什么不应该再次使用ArrayList。

我可以继续下去,但是我只会指出你们的Hidden Features of VB.Net问题来解决这个问题。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...