代码之家  ›  专栏  ›  技术社区  ›  Christopher Bottoms zerkms

如果在开发代码中使用smart::comments,我应该关注什么?

  •  5
  • Christopher Bottoms zerkms  · 技术社区  · 15 年前

    我理解smart::comments不应该在生产代码中使用,因为它是一个源过滤器。

    但是,我一直在使用 Smart::Comments 在我的开发代码中,然后在将代码发送到生产之前注释掉“使用”行。

    考虑到我将在开发代码中使用它,我应该特别关注什么?我搜索过互联网,没有找到任何我应该担心的原因,除了源过滤器是“坏主意”或“坏”或者它们不应该在生产代码中使用。

    更新: 我现在正在使用密钥绑定 vim 实施Sinan_n_¼R方法:

    map <Leader>c <Esc>:!perl -MSmart::Comments %<CR>
    
    5 回复  |  直到 14 年前
        1
  •  4
  •   daotoad    15 年前

    源筛选器是 坏的 有问题,因为他们使用不完善的解析器重写代码。只要过滤器管理您输入的代码,一切都会很好地工作。

    当你添加一些东西破坏过滤器的时候,整个系统就会自我毁灭,你会得到奇怪的错误。

    源过滤器也会混淆调试器,这可能是一个问题——如果使用调试器。

        2
  •  10
  •   Sinan Ünür    15 年前

    我不想说:

    use Smart::Comments;
    

    在我的代码中。当我真的使用 Smart::Comments ,我调用脚本时使用:

    $ perl -MSmart::Comments test.pl
    

    这样,就没有机会了 智能::注释 将在生产代码中使用。

        3
  •  5
  •   RET    15 年前

    我非常喜欢smart::comments,它在我们的代码、开发和生产副本中都被调用。我很少将它用于进度条,主要用于断言和调试输出。

    但是,实践是使用以下形式将其拉入:

    use Smart::Comments -ENV;
    

    如果未设置环境变量smart_comments,则smart::comments是完全惰性的。

    两全其美。

        4
  •  2
  •   innaM    15 年前

    我对源过滤器部分没有意见。但只要看一下 Smart::Comments . 他们可能很聪明,但你最终得到的却很难被称为“评论”。如果您需要进度条,请继续,显式添加一个进度条。如果你需要评论某件事,那么就让下一个阅读你文章的人理解你的意思。

        5
  •  1
  •   Alexandr Ciornii    15 年前

    smart::comments是以这样的方式专门编写的,当您注释掉“use smart::comments”时,它将只是注释,所以程序根本不受影响。其他模块有更严重的问题,比如当您无法获得准确的错误行数时。