【问题标题】:Good programming etiquette/ good programming practices良好的编程礼仪/良好的编程习惯
【发布时间】:2013-09-11 15:06:27
【问题描述】:

我正在尝试开发一些良好的编程实践,今天我正在开发一个程序,该程序将从文本框、单选按钮和复选框中获取信息。我知道我可以这样做,例如:

TextBoxResult.Text = Val(TextBoxNumbA.Text) + Val(TextBoxNumbB.Text)

它会起作用的。或者我也可以这样做,它也会起作用:

Dim result, numberA, numberB as Integer
numberA = Val(TextBoxNumbA.Text)
numberB = Val(TextBoxNumbB.Text)
result = numberA + numberB
TextBoxResult.Text = result

我的问题是:哪种方法是正确的?不声明变量的捷径还是声明变量的长途?软件公司如何处理这个问题?

【问题讨论】:

  • 好的,感谢您没有回答问题,而是指出另一个可能也有帮助的主题。关于您的评论,我想提出一个问题:VB 不是隐式转换
  • 从来没有注意到中间变量,我还在为使用 Val 做 WTH。
  • 谢谢你的解释,我明白你的意思了。每当我决定不使用 Strict Option Off 时,我都会考虑到这一点。不要把它当作私人的,但我建议你寻求进一步的“帮助”,不要让人们记下问题,因为对我来说,这听起来就像告诉他们:“闭嘴,你问的是愚蠢的,没有” t 值得被回答或被看到”,我完全不同意这种思维方式。
  • 如果您不想给出礼貌的评论,请不要回答,因为对于像我这样的初学者来说,鼓励专业人士很重要,他们不会忽视任何问题,即使听起来很重要有史以来最愚蠢的!
  • 我不是“他”,我是“她”,你显然没有明白我的意思。我问的原因是因为我认为声明变量会占用内存空间,所以最好不要这样做......但后来我认为它会提供一种有组织的更合适的编码方式。所以这就是我问这个问题的原因......只是为了检查“专家”的意见

标签: vb.net coding-style policy


【解决方案1】:

忽略可怕的 val 部分。你应该使用中间变量吗? 是的,如果它使代码更易于理解。在您发布的情况下,我不相信它,但这只是我的意见。

当您使用 VB.net 时,不必担心需要额外的内存,编译器会处理这个问题。在解释性语言中,这可能是一个问题,但代码不是为计算机“理解”而编写的,而是为程序员编写的。总是先去理解。一旦你确定它是正确的,你就可以让它变得难以理解......

【讨论】:

  • 这就是我想读的答案。为什么我必须走很长的路才能阅读这个答案? :( 我现在筋疲力尽了。谢谢,先生们
  • 显然OP误解了你的笑话(我说它可能会冒犯某人但我没想到它会得到这么快的结果),现在我希望这方面的一切都清楚了。我仍然不清楚的是您在 DonA 答案中的评论,您能解释一下您的意思吗?
  • 英语幽默伙伴。我尽量不要无意中惹恼任何人,但故意惹恼某人没有任何问题。
【解决方案2】:

Val 是遗留函数。我建议切换到特定类型的转换器。这也为不可转换的值(如字母)提供了保护。记得转换类型。转Option Strict On你就会看到。

Integer.TryParse

Dim result As integer = 0
Dim numberA, numberB as Integer
If Integer.TryParse(TextBoxNumbA.Text, numberA) Then
  If Integer.TryParse(TextBoxNumbB.Text, numberB) Then
    result = numberA + numberB
  End If
End If
TextBoxResult.Text = result.ToString("n2")

【讨论】:

  • 不仅剩下。这是愚蠢的。 Val("1615 198 East st.") = 1615198。由营销部门设计,由销售部门实施......
  • 以我所做的方式,你不能用这种保护和最佳实践来制作一个单一的衬里 - 我想我将它扩展到他们的所有代码中。
  • @varcarbas。别担心。它只是打算冒犯而不是设法冒犯,这是一个问题。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
相关资源
最近更新 更多