我应该如何重构一个大的Perl脚本?

Vin*_*ent 4 perl refactoring abstraction

我有一个或多或少的大约100行的Perl脚本.该脚本接受一些参数,它直接运行.没有模块,没有功能.该脚本可以分为三个部分,初始化部分,参数解析部分和工作部分,但我不知道该怎么做.一切都必须保存在一个文件中.请问,任何人都可以给我指示/建议如何构建我的Perl脚本吗?

谢谢.

Car*_*ter 8

您询问有关如何重构脚本的建议,但您似乎并不理解为什么要重构它.没有原因,怎么会对你没那么好.有了这个原因,怎么可能很自然地失败了.

如果你的脚本工作得很好并且不需要修改就可以运行它,那么你可能没有理由重构它 - 我从鄙视长期例程的角度说这个.但...

如果它出了问题

如果你想在你的1000行计划中找到一个错误,你就会有一些艰苦的工作.问题可能在任何地方.将其分解为更小的部分,以便您可以在不同阶段验证输入和输出 - 理想情况下,为较小的部分编写测试.细粒度的单元测试会告诉你什么是行不通的,错误的性质,以及其中存在的错误.

如果你需要修改它

如果您需要将脚本更改为 - 例如 - 容纳新的图形格式,或利用多个处理器,或将其活动记录到日志中 - 如果需要修订或扩展的程序元素更好,您会发现更容易扩展隔离的.

如果您正试图向其他人解释,或将其展示出来

如果将这些想法分解为离散的方法,您会发现将脚本中的想法传达给另一位开发人员要容易得多.

所以,有一些原因,为什么你会选择重构.如果其中任何一个适用,则相应地重构; 该怎么会自然脱落. 提取方法可能是您最好的朋友.

  • +1重构的另一个原因可能适用于OP:**这可能是一个很好的学习机会**. (2认同)