Perl代码可维护性

我一直在写Perl几年了,这是我首选的文本处理语言(许多遗传学/基因组学问题我很容易被减少到文本处理问题)。 Perl作为一种语言可以非常宽恕,可以在Perl中编写非常差的但功能强大的代码。只是在另一天,我的朋友说他称Perl是一种只写的语言:写一次,理解一次,从来没有试过回去修复它。

虽然我有时会犯错误的脚本,但我觉得我也在Perl中写了一些非常清晰和可维护的代码。但是,如果有人问我什么使代码清晰可维护,我将无法给出自信的答案。

什么使Perl代码可维护?或者更好的问题是什么使Perl代码难以维护?让我们假设我不是唯一一个维护代码的人,像我这样的其他贡献者不是专业的Perl程序员,而是具有编程经验的科学家。

解决方法

什么使Perl代码不可维护?几乎任何使任何其他程序不可维护的东西。假设除了用于执行明确定义的任务的短脚本之外,还有以下几个方面:

>全局变量
缺乏分离的问题:单片脚本
>不使用自我记录标识符(变量名称方法名称)。例如。你应该知道一个变量的目的是从它的名字。 $ c坏$ count更好。 $ token_count好。

>拼写标识符。程序大小不再是首要考虑。
>一个称为doWork的子例程或方法不说什么
>可以轻松地从另一个包中找到符号的来源。使用显式包前缀,或明确导入使用MyModule qw(导入列表)使用的每个符号。

> Perl特定:

过度依赖短期和模糊的内置变量
>滥用子程序原型
>不使用严格而不使用警告

>重建轮子,而不是使用已建立的图书馆
>不使用一致的缩进样式
>不使用水平和垂直的空白来引导读者

等等等

基本上,如果你认为Perl是-f>@+?*<.-&'_:$#/%!,而且你希望在生产代码中写这样的东西,那么是的,你会有问题。

人们往往会混淆Perl程序员的乐趣(例如,JAPH,高尔夫等等)与Perl程序应该是什么样的东西。

我仍然不清楚他们如何将自己的思想code写入IOCCC与可维护的C.

相关文章

忍不住在 PerlChina 邮件列表中盘点了一下 Perl 里的 Web 应用框架(巧的是 PerlBuzz 最近也有一篇相关...
bless有两个参数:对象的引用、类的名称。 类的名称是一个字符串,代表了类的类型信息,这是理解bless的...
gb2312转Utf的方法: use Encode; my $str = "中文"; $str_cnsoftware = encode("utf-8...
  perl 计算硬盘利用率, 以%来查看硬盘资源是否存在IO消耗cpu资源情况; 部份代码参考了iostat源码;...
1 简单变量 Perl 的 Hello World 是怎么写的呢?请看下面的程序: #!/usr/bin/perl print "Hello W...
本文介绍Perl的Perl的简单语法,包括基本输入输出、分支循环控制结构、函数、常用系统调用和文件操作,...