gpt4 book ai didi

perl - 是什么让 Perl 代码可维护?

转载 作者:行者123 更新时间:2023-12-03 11:03:54 24 4
gpt4 key购买 nike

我已经编写 Perl 好几年了,它是我首选的文本处理语言(我研究的许多遗传学/基因组学问题很容易归结为文本处理问题)。 Perl 作为一门语言可以是非常宽容的,并且可以用 Perl 编写非常糟糕但实用的代码。就在前几天,我的 friend 说他称 Perl 为只写语言:编写一次,理解一次,完成后永远不要尝试返回并修复它。

虽然有时我确实为编写糟糕的脚本而感到内疚,但我觉得我也在 Perl 中编写了一些非常清晰且可维护的代码。但是,如果有人问我是什么让代码清晰和可维护,我将无法给出自信的答案。

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

最佳答案

是什么让 Perl 代码无法维护?几乎任何使任何其他程序都无法维护的东西。假设除了旨在执行明确定义的任务的简短脚本之外的任何其他内容,这些是:

  • 全局变量
  • 缺乏关注点分离:单体脚本
  • 不使用自记录标识符(变量名和方法名)。例如。您应该从变量的名称中知道变量的用途。 $c坏的。 $count更好的。 $token_count好的。
  • 拼出标识符。程序大小不再是最重要的问题。
  • 称为 doWork 的子例程或方法什么都不说
  • 使从另一个包中查找符号的来源变得容易。要么使用显式包前缀,要么显式导入通过 use MyModule qw(list of imports) 使用的每个符号.
  • Perl 特定:
  • 过度依赖快捷方式和晦涩的内置变量
  • 滥用子程序原型(prototype)
  • 不使用 strict并且不使用 warnings
  • 重新发明轮子,而不是使用已建立的库
  • 没有使用一致的缩进样式
  • 不使用水平和垂直空白来引导读者

  • 等等等等等等

    基本上,如果你认为 Perl 是 -f>@+?*<.-&'_:$#/%! ,并且您渴望在生产代码中编写类似的东西,那么,是的,您会遇到问题。

    人们倾向于将 Perl 程序员为了好玩而做的事情(例如,JAPH、高尔夫等)与好的 Perl 程序应该是什么样子混淆。

    我仍然不清楚他们如何能够在他们的脑海中分开 code写给 IOCCC从可维护 C.

    关于perl - 是什么让 Perl 代码可维护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4349142/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com