Perl模块开发:从设计到实践
1. 模块概述
代码复用是一项核心的最佳实践,而模块是Perl实现大规模代码复用的主要机制。同时,模块也是CPAN(Comprehensive Perl Archive Network)的核心组成部分。将源代码重构为模块,不仅能提高代码的复用性,还能使代码更简洁、易于维护。原代码所在的程序会变得更短,抽象程度更高,从而更易于维护。
2. 模块接口设计
模块最重要的方面并非其实现方式,而是提供功能的方式。若模块的API设计不当,如过于复杂、庞大、零碎或命名不佳,开发者可能会选择自行编写代码,而非使用该模块。因此,应先设计模块的接口。
设计模块接口需要经验和创造力。一种有效的方法是进行“游戏测试”,即在模块实现之前编写使用该模块的代码示例。编写时,假设模块已可用,并按最期望的方式编写。有了接口的初步构想后,将“游戏测试”转换为实际测试,然后让模块按代码示例和测试的要求运行。
以 IO::Prompt 模块为例,在设计过程中,潜在用户编写的代码片段表明,需要一个能替代 <> 输入操作符的功能。原代码如下:
CMD:
while (my $cmd = <>) {
chomp $cmd;
last CMD if $cmd =~ m/\A (?: q(?:uit)? | bye ) \z/xms;
my $args;
if ($takes_arg{$cmd}) {
$args = <>;
超级会员免费看
订阅专栏 解锁全文
414

被折叠的 条评论
为什么被折叠?



