当前位置:  开发笔记 > 编程语言 > 正文

有没有什么好的工具可以重构Perl Web代码?

如何解决《有没有什么好的工具可以重构PerlWeb代码?》经验,为你挑选了4个好方法。

我目前正在开发一个perl web应用程序LAMP风格,最近偶然发现了一些以前的开发人员留下的死亡迷宫代码.他留下了许多神奇的数字和奇怪的逻辑,每次我必须通过它时,它让我头疼.

我现在正在学习单元测试,所以我想找到一些有用的工具来重构代码并编写单元测试,以确保我不会意外破坏任何东西.

对LAMP perl的任何好的重构工具的任何建议?最好免费:)

谢谢.



1> draegtun..:

我认为Eclipse/EPIC有"一些"Perl重构工具......但是请不要引用我;-)

也许值得一看Komodo.但是完整版本不像Eclipse/EPIC那样免费.您可以尝试他们的开源版本Komodo Edit,但我想它不会具备所有功能?

我没有使用上面的或任何其他重构工具...我使用vi/vim和TextMate编辑器以及他们提供的内容(或者我迄今为止在每个编辑器中找到的内容!).

进行单元测试是一个良好的开端.还可以看看perltidy/Perl :: Tidy&Perl :: Critic,这可能有助于通过混乱找到一些"代码味道".



2> sastanin..:

也许,Refactor上的志愿者:我的=>'代码'可以帮到你.无论如何,它可以自由地问:)



3> EvdB..:

Perl的动态特性意味着很难为它创建重构工具.

但是,关于测试,您应该能够组合一些回归测试来帮助您.这可以通过现在的代码开始并捕获其当前输出来实现.这可能是从命令行运行CGI脚本并将生成的HTML保存到文件.

一旦你捕获了这个,你可以改变代码,当你去检查HTML没有改变,这意味着代码没有破坏.当发生更改时,您可以找到错误,或更改测试以接受新HTML正确.

这可能是一件苦差事,但从长远来看会让你的生活更轻松.您应该尝试自动化这些测试以使其易于运行.Checkout Test :: WWW :: Mechanize和Test :: LongString以及所有其他.



4> Adam Bellair..:

虽然它并没有真正重构,但是这个PerlMonks节点描述了一些使用B :: Deparse对perl代码进行反混淆处理的Vim映射.

他们的例子:

您可以_d在正常模式下将光标悬停在此行上时键入:

--$|&&s|\n|-|;

......它将被替换为:

s/\n/-/ if --$|;

这一行:

$foo and $bar or $baz = 1;

......将被替换为:

$baz = 1 unless $foo and $bar;

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有