Vin*_*ent 4 perl refactoring abstraction
我有一个或多或少的大约100行的Perl脚本.该脚本接受一些参数,它直接运行.没有模块,没有功能.该脚本可以分为三个部分,初始化部分,参数解析部分和工作部分,但我不知道该怎么做.一切都必须保存在一个文件中.请问,任何人都可以给我指示/建议如何构建我的Perl脚本吗?
谢谢.
您询问有关如何重构脚本的建议,但您似乎并不理解为什么要重构它.没有原因,怎么会对你没那么好.有了这个原因,怎么可能很自然地失败了.
如果你的脚本工作得很好并且不需要修改就可以运行它,那么你可能没有理由重构它 - 我从鄙视长期例程的角度说这个.但...
如果你想在你的1000行计划中找到一个错误,你就会有一些艰苦的工作.问题可能在任何地方.将其分解为更小的部分,以便您可以在不同阶段验证输入和输出 - 理想情况下,为较小的部分编写测试.细粒度的单元测试会告诉你什么是行不通的,错误的性质,以及其中存在的错误.
如果您需要将脚本更改为 - 例如 - 容纳新的图形格式,或利用多个处理器,或将其活动记录到日志中 - 如果需要修订或扩展的程序元素更好,您会发现更容易扩展隔离的.
如果将这些想法分解为离散的方法,您会发现将脚本中的想法传达给另一位开发人员要容易得多.
所以,有一些原因,为什么你会选择重构.如果其中任何一个适用,则相应地重构; 该怎么会自然脱落. 提取方法可能是您最好的朋友.