如果我在开发代码中使用Smart :: Comments,我应该有什么顾虑?

Chr*_*oms 5 perl source-filter

我知道Smart :: Comments不应该用在生产代码中,因为它是一个源过滤器.

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

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

更新:我现在在vim中使用密钥绑定来实现SinanÜnür的方法:

map <Leader>c <Esc>:!perl -MSmart::Comments %<CR>
Run Code Online (Sandbox Code Playgroud)

Sin*_*nür 10

我不想放:

use Smart::Comments;
Run Code Online (Sandbox Code Playgroud)

在我的代码中.当我确实使用时Smart::Comments,我使用以下命令调用脚本:

$ perl -MSmart::Comments test.pl
Run Code Online (Sandbox Code Playgroud)

这样,就没有机会Smart::Comments在生产代码中使用.


RET*_*RET 5

我是Smart :: Comments的忠实粉丝,它在我们的代码,开发和生产副本中被调用.我很少将它用于进度条,主要用于断言和调试输出.

但是,实践是使用以下形式:

use Smart::Comments -ENV;
Run Code Online (Sandbox Code Playgroud)

如果未设置环境变量Smart_Comments,则Smart :: Comments完全是惰性的.

两全其美.


dao*_*oad 4

源过滤器存在严重问题,因为它们使用不完美的解析器来重写代码。只要过滤器管理您提供给它的代码,一切都会很好。

当你添加一些破坏过滤器的东西时,整个系统就会自毁,并且会出现奇怪的错误。

源过滤器还会使调试器感到困惑,如果您使用调试器,这可能会成为一个问题。