我在另一个论坛上发布了一段代码片段,并请求帮助,有人指出使用 GoTo
语句是非常糟糕的编程实践。 我想知道:为什么这样做是不好的?
在 VB.NET 中,除了 GoTo
,还有哪些替代方法可以被认为是更好的实践呢?
考虑下面的代码片段,用户必须输入他们的出生日期。 如果月份/日期/年份无效或不切实际,我想循环回去再次询问用户。 (我正在使用 if 语句来检查整数的大小...如果有更好的方法,请告诉我:D)
retryday:
Console.WriteLine("Please enter the day you were born : ")
day = Console.ReadLine
If day > 31 Or day < 1 Then
Console.WriteLine("Please enter a valid day")
GoTo retryday
End If
return
语句作为流程控制语句是可以的。然而,在我看来,这将被视为滥用return
,使代码难以阅读,并增加了方法的复杂性。 - AMissico