我写了很多相当小的perl脚本。它们的范围从10行到可能1,000行,但中值大小可能只有大约100行。当我开始编写脚本时,我倾向于将事情分解成块并创建子例程。发生的事情是我最终写了很多类似于
的脚本sub mkdir {
... directory testing logic ...
... mkdir ...
}
sub createFile {
... check for directory ...
... try and create the file, exit if failure ...
}
sub somethingElse {
.... do stuff with the file that was created ...
}
sub yetAnotherThing {
... do even more stuff ...
}
&mkdir;
&createFile;
&somethingElse
&yetAnotherThing
这对我来说一直很奇怪。我喜欢它最终是模块化的,我可以轻松地评论某些任务,但我不确定这是构建这些小程序的最佳方式。
我的问题是:
谢谢!
答案 0 :(得分:3)
你所做的是正确的,它被认为是编程的好习惯。它被称为功能分解 - 您将任务分解为更小的功能。
事实上,在行业中,人们开始编写大量的内联代码,然后在变得无法管理的时候开始重构代码,使其变得更像你正在做的事情。
以CPAN中的项目为例。其中大多数都被分解为小功能。事实上,其中大部分都被细分为相关功能的模块。
这是一个很好的第一步。下一步是在代码中编写.pm
个use
相关函数的文件。之后的下一步是编写面向对象的代码。
答案 1 :(得分:2)
你的方法对我来说看起来很合理,我确实在其他地方看到了类似的脚本。
你的某些方法可能现在已成为一种习惯,你已经成长,并且值得重新思考并有意尝试更高层次的事情。首先,有多少脚本包含几乎相同的5个目录和文件处理逻辑子程序?你有可能:
齐心协力寻找能够缩短或不需要这些例程的CPAN模块。
编写您自己的模块以包含脚本之间共享的代码。
这两件事都可以让你变得更有效率,而且你似乎在编写很多这些脚本,这是值得追求的。