【问题标题】:PHP code validation when refactoring重构时的 PHP 代码验证
【发布时间】:2010-12-24 04:46:33
【问题描述】:

作为一个习惯于静态类型的开发人员,我通常让编译器告诉我代码是否正确,当然排除了逻辑缺陷。但是在重构 PHP 时,我发现很难知道我的代码是否正确。

似乎总是在某个地方对某个方法或成员的一些挥之不去的引用被破坏并且直到运行时才显示出来。即使在 Zend Studio 中使用有限的重构支持,事情也往往会以某种方式被破坏。

由于语言本身的动态特性,我理解这是一个难题。但是是否有任何工具可以静态验证 PHP 代码,以便我知道它在运行前没问题?我不想再看到“未定义的属性”错误消息。

【问题讨论】:

    标签: php refactoring


    【解决方案1】:

    为您的代码编写测试 (http://www.phpunit.de/),设置持续集成服务器,运行 UI 测试 (http://pear.php.net/package/Testing_Selenium/)。通过足够的测试,您会在提交错误代码后立即发现问题。只需保持较高的测试代码覆盖率即可。

    这是单元测试的要点之一 - 你可以重构你的代码而不会真正破坏它,因为你在每次更改后检查所有功能。

    【讨论】:

    • PHPUnit 实际上提供了集成的 Selenium 测试,而不需要引入那个 PEAR 包。真的很流畅。
    【解决方案2】:

    我会推荐@viraptor 的解决方案来预防您当前的问题。

    这里有一些关于 PHP 中的静态分析和重构的信息。
    静态分析

    http://strategoxt.org/PHP/PhpSat

    PHP 重构

    Tools for PHP code refactoring

    【讨论】:

      【解决方案3】:

      单元测试。我是Testilence的作者

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多