我的一位开发人员已经开始使用RegexBuddy来帮助解释遗留代码,这是我完全理解和支持的一种用法.我担心的是使用正则表达式工具编写新代码.我实际上不鼓励在我的团队中使用新代码.两个引号浮现在脑海中:
有些人在面对问题时会想"我知道,我会使用正则表达式".现在他们有两个问题. - 杰米·扎温斯基
和:
调试的难度是首先编写代码的两倍.因此,如果您尽可能巧妙地编写代码,那么根据定义,您不够聪明,无法对其进行调试. - Brian Kernighan
我担心的是(分别:)
该工具可以使用真正不需要它的复杂正则表达式来解决问题.(另见这个问题).
我的一个开发人员,使用正则表达式工具,将开始编写正则表达式(即使有注释)也不能由没有(并且知道如何使用)正则表达式工具的任何人维护.
我应该鼓励还是不鼓励使用正则表达式工具,特别是在生成新代码方面?我的担忧是否合理?还是我是偏执狂?
Dan*_*Dan 10
正则表达式只是您可以使用的众多工具之一.我一般不同意经常引用的Zawinski引用,就像任何技术或技术一样,有好的和坏的方法来应用它们.
就个人而言,我认为像RegexBuddy和免费的Regex Coach这样的东西主要是学习工具.有时候它们可以帮助调试或理解现有的正则表达式,但一般来说,如果你使用工具编写正则表达式,那么维护它就很难了.
作为一名Perl程序员,我对正常表达式的好坏非常熟悉,并且多年来一直在生产代码中成功使用复杂的正则表达式.以下是我喜欢从各个地方收集的一些指导原则: