perl – 这个琐碎的功能傻了吗?
我今天遇到了一个让我停下来思考的功能.我想不出有这么好的理由:
sub replace_string { my $string = shift; my $regex = shift; my $replace = shift; $string =~ s/$regex/$replace/gi; return $string; } 我能看到的唯一可能的值是,它使您能够控制替换使用的默认选项,但我认为没有用.看到这个函数后,我的第一反应就是“这是做什么的?”.一旦我了解它的作用,我就会假设从那时起就做到了.这意味着如果它发生变化,它将破坏我需要它的任何代码.这意味着该功能可能永远不会改变,或者更改它会破坏大量代码. 现在我想追踪原来的程序员,并在他或她身上打败一些感觉.这是一个有效的愿望,还是我错过了这个功能带来的一些价值? 解决方法
该功能的问题包括:
>不透明:replace_string不会告诉您在不进行转义的情况下执行不区分大小写的全局替换. 优点是: > Literate:函数名称解释了它的作用,而不必检查正则表达式的细节(但它给出了一个不完整的解释). 封装有点过分热心. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |