【问题标题】:Do you use strict off in your projects?你在你的项目中使用 strict off 吗?
【发布时间】:2009-06-30 12:30:10
【问题描述】:

您是否使用“严格关闭”选项,“显式关闭”?或者可能是“严格自定义”和其他一些选项,如“隐式类型”。假定对象”、“后期绑定”、“隐式转换”?

【问题讨论】:

    标签: vb.net dynamic option-strict


    【解决方案1】:

    从来没有。 OPTIONS STRICT OFF 与 OPTIONS BADPROGRAMMING ON 相同。

    OPTIONS STRICT OFF 放宽了 VB.NET 所做的一些检查。它放宽了语言规则。这些规则是为了拯救你自己。永远不要阻止语言将您从自己手中拯救出来。如果您来自更放松的环境,则尤其如此,在这种情况下,您可能需要节省。

    另外需要注意的是,大多数编程语言都没有一个开关可以说:请允许我在脚上开枪。

    【讨论】:

    • +1 因为你是对的,让我发笑。话虽这么说,也许您可​​以稍微解释一下为什么“严格关闭”是一件坏事:)
    • 那么你的意思是 Ruby = 糟糕的编程?
    • @JaredPar:Ruby 有没有 OPTIONS STRICT OFF 命令,还是一直关闭?那是不同的。
    • 我一直认为 c 中的指针算术是一种含蓄的邀请,让你在脚下开枪。然后掉进黑洞:-)
    • @John,AFAIK ruby​​ 始终是动态的/选项严格关闭。关闭 option strict 本质上会将 VB.Net 变成某种动态语言。所以说选项严格关闭等于糟糕的编程本质上对动态语言也是如此
    【解决方案2】:

    始终以任何语言开发,并带有完整的警告和限制。从来没有例外。

    不这样做是一种虚假的经济,当然它可能看起来有效,但它肯定会在以后再次咬你

    (目前正在调试一系列 PHP Web 应用程序,其中原始的“编码器”已经抑制了所有错误,并且在启用时每页显示数百个错误。“确保在测试中使用变量之前定义变量?为什么要当我可以抑制错误而不必思考时,我会这样做吗?”)

    【讨论】:

      【解决方案3】:

      通常我将 Option Strict On 保留在项目级别,因为通常我需要严格的语义检查。在我确实想使用后期绑定的情况下,我将在文件级别关闭 Option Strict。

      【讨论】:

        【解决方案4】:

        我喜欢使用 Strict=On,因此我的代码在编译时失败,而不是在上线时失败,而 Explicit=On 因为在静态语言中不声明变量会有点奇怪。

        【讨论】:

          【解决方案5】:

          当我开始一个新项目或收到一个活动项目时,我总是打开 Strict

          我永远不会为那个关闭的项目提供支持,永远

          【讨论】:

            【解决方案6】:

            我已经做到了这两种方式。一直开着。当我在做一些快速而肮脏的 vbscripts 时,我没有使用它,这花费了我调试时间。打开它,继续它

            【讨论】:

              【解决方案7】:

              Option Strict OffOption Explicit Off 是生产代码中的虚假经济。

              您将花费更多时间来寻找奇怪的错误,而不是一开始就编写代码错误和警告。我的经验教会了我这一点。

              唯一的例外是当我需要使用后期绑定时,我必须将其关闭。

              【讨论】:

                【解决方案8】:

                如果我正在做一些快速而肮脏的原型或尖峰,我通常会收到Strict OFF,我知道我将来不必维护代码。

                “知道”这个词在这里很关键,如果代码有可能迁移到您需要支持的东西中,那么请设置 Strict ON 并在它们回来咬你之前处理任何错误。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-05-31
                  • 2010-12-08
                  • 2019-06-29
                  • 2021-11-15
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多