有一个类似的问题,但它只是得到了人们总是给出的关于正则表达式语法的相同旧答案,但这不是这里的重点,所以请尽量不要下意识地使用关于正则表达式语法的相同旧答案。这次尝试更加原创和个性化。
正则表达式语法非常紧凑,几乎太紧凑以至于不好。它就像代码打高尔夫球,每个人都同意打代码在生产代码中不是一件好事。然而,大多数人接受正则表达式语法,这似乎......至少可以说是矛盾的。
因此,现在人们可能会听到一些常见的防御措施,包括:
答:很紧凑
Counter : 在这个时代,我们不是都同意代码应该是识字的,并且像“client”这样的变量比“c”更好吗?
答:这是一种“特定领域的语言”
计数器:所有非常容易理解、非紧凑、非神秘和我敢说漂亮的领域语言,比如 SQL 或 LINQ,怎么样?
答:知道了就很容易理解了。
Counter : 大多数优秀的语言都很容易理解,即使您以前从未使用过它们。例如,任何人都可以很容易地跳入 Python,即使他们以前从未见过它。为什么人们在正则表达式如此难看的时候为它辩护,然后继续抱怨 Lisps 括号?
好的,现在每个人都尝试在这里保持原创和诚实,不要只是拿出 20 年前程序员用来设计正则表达式的老生常谈的答案。除非你真的相信它们是当今时代的有效命题。
编辑:为了记录,我从几年前就知道正则表达式,即使在今天也经常使用它们,甚至可能会摸索它们。然而,我突然有一种感觉,也许是时候重新考虑我认为关于正则表达式的“真相”了,并从现代的角度来看它们。主要是因为质疑原则是进一步发展的必要条件,而且因为很多新人对他们的强烈抱怨,他们不能一概而论,所以我决定试着站在一个新人的角度考虑一下有什么好的地方反对正则表达式。
至于主观性,我不认为这比当时的程序员笑话更主观或更少与程序员相关。相反,它与程序员非常相关。
至于争论,这就是问题的重点。为了获得好的论点赞成和反对正则表达式过时的语法,这可以让新手真正了解更多关于为什么正则表达式是它们的原因,甚至更好地希望让一些新手想出一个更好的解决方案,因为我们老思想看不到被正则表达式的“酷”蒙蔽了双眼。
引用:
正则表达式的 Perl 5.10 文档已经融化成一堆不可读的乱码,因为语法中出现了许多滑稽的特性,以至于没有人可以再为它编写合理的文档了。
你是想说正则表达式变得不可维护?那么作为优秀的程序员,我们应该考虑重构它们吗?也许像我们对许多其他技术所做的那样清理和尝试?