VB 程序员:不要放松对自己的要求
2011-02-14 01:05
435 查看
业界一直对 VB 程序员有偏见,认为这个群体普遍水平不高。最近在维护/修改 VB.NET 的老代码时发现,这是有原因的。
以 VB.NET 为例,
注意两个选项: Option Explicit 和 Option Strict
前者表示,每个变量要先声明才能使用。
后者,则对隐式类型转换有一定的要求。
另外,在项目属性页里的 Warning Configuration 下,还有一个 "Implicit Conversion" 选项。
默认情况下,这些选项设置的比较宽松。这样带来的恶果是,很多 VB 程序员可以说毫无数据类型的概念,代码里胡乱写,这样把很多明明是编译期可以解决的 bug, 带到了运行期。不得不说,这是不可饶恕的。
在这种宽松的设定下,我见到了太多应该被拖出去重重的打屁股的代码:
If (System.Convert.ToString(dr("Column1")) = 0)
这里很荒谬的把一个 String 直接和 Integer 类型进行比较。。。
Session("cID") = CInt(lblSomeID.Text + 1)
这个代码更是地雷中的地雷。类型的概念极其混乱,胡乱转换,毫无章法。
我想要说的是,VB经过多年的发展,到现在的 VB9, 10, 已经是一门非常强大的语言。从语言的角度上讲,也许 VB 对程序员比较宽容。但程序员不应该把这个当成一种福利,而放松对自己的要求,类型概念不搞清楚就乱写代码,否则被骂终究是难免的。
以 VB.NET 为例,
注意两个选项: Option Explicit 和 Option Strict
前者表示,每个变量要先声明才能使用。
后者,则对隐式类型转换有一定的要求。
另外,在项目属性页里的 Warning Configuration 下,还有一个 "Implicit Conversion" 选项。
默认情况下,这些选项设置的比较宽松。这样带来的恶果是,很多 VB 程序员可以说毫无数据类型的概念,代码里胡乱写,这样把很多明明是编译期可以解决的 bug, 带到了运行期。不得不说,这是不可饶恕的。
在这种宽松的设定下,我见到了太多应该被拖出去重重的打屁股的代码:
If (System.Convert.ToString(dr("Column1")) = 0)
这里很荒谬的把一个 String 直接和 Integer 类型进行比较。。。
Session("cID") = CInt(lblSomeID.Text + 1)
这个代码更是地雷中的地雷。类型的概念极其混乱,胡乱转换,毫无章法。
我想要说的是,VB经过多年的发展,到现在的 VB9, 10, 已经是一门非常强大的语言。从语言的角度上讲,也许 VB 对程序员比较宽容。但程序员不应该把这个当成一种福利,而放松对自己的要求,类型概念不搞清楚就乱写代码,否则被骂终究是难免的。
相关文章推荐
- 程序员,不要让自己做兔子
- 只有自己才能对自己负责,别人的建议只能做参考。简单的才是最美的,不要以为将程序搞得复杂就好,其实简单的简洁的只要符合功能要求才是最完美的。
- 程序员,不要让自己做兔子
- 程序员,不要让自己做兔子
- 程序员,不要让自己做兔子
- 程序员,不要让自己做兔子
- 程序员,不要让自己做兔子
- 程序员,不要让自己做兔子
- 程序员,不要让自己做兔子
- 如果你觉得能做项目经理,就不要屈就自己去做普通程序员
- 程序员,不要让自己做兔子(updated)
- 程序员,不要让自己做兔子
- 不要自称为程序员,要把自己描述的跟收入相关
- 对自己成为程序员的要求
- 程序员,不要让自己做兔子
- 不要让自己成为一名程序员。
- 程序员,不要让自己做兔子(updated)
- 程序员,不要让自己做兔子
- 纯忽悠程序员的开发要求(4):专注自己的模块功能,不用太关心其他模块的细节 .
- 程序员,不要让自己做兔子(updated) 网上最近流传的一个笑话,关于兔子,狼还有一只老虎的,故事 我就是想打你了,还需要什么理由吗?谁让你是兔子 项目经理是这样当的