2014-10-22 32 views
0

这个问题适用于动态解释代码项目中的所有代码路径,我想检查在写一个脚本语言语法的正确性

详细

说我有一组数据加工项目这取决于一个叫做tools的通用模块。在发展的道路上,我发现我想改变tools中某个功能或方法的界面。

此接口更改可能不完全向后兼容,它可能会破坏我的数据处理项目的一个子集。

如果所涉及的所有软件都需要编译,我可以简单地重新编译所有内容,编译器会指向我必须将调用代码调整为新签名的位置。但是如何在解释的情况下做到这一点?

TL; DR

一组脚本程序的依赖脚本模块上。在以可能不是向后兼容的方式查看模块的界面后,如何检查相关程序并使其符合新界面?

+1

这就是为什么你应该写测试。 – BroiSatse 2014-10-22 08:23:45

+0

我通常使用编译器来测试语法的正确性。如何以系统的方式为脚本语言做到这一点? – Sh4pe 2014-10-22 08:26:36

+1

在ruby中TDD是必备的。具有较高的测试覆盖率可确保在运行测试套件时执行每一行代码。在ruby中没有编译器,只有一个解析器只会引发缺少结尾,括号或类似的问题。由于解析器不可能说方法是否存在(因为它可能还不存在,但将来会存在,甚至可能触发method_missing逻辑),测试是唯一的方法。 – BroiSatse 2014-10-22 08:46:15

回答

1

最好的答案是'写测试'。对于纯粹的语法检查而言,一些代码是正确的,比如调用一个不存在的函数,如你所描述的,pylint可能是最好的工具。用pip install pylint安装。