精选...:经典WTF:一种愚蠢专属语言
本文讨论了为定义“源”规范而创建领域特定语言(DSL)的过程。这些规范涉及特性与分层步骤,类似于复杂的文法。此前的一次实现未采用带有模式(schema)的 XML 以提升结构清晰度与规范性,而是选择了一种稳健性较差的方案:构建了一个依赖冗长正则表达式的 XML 模式规则以验证数据。该正则表达式长达 1,310 个字符,旨在强制实施文法规则。作者指出,这一方法存在诸多问题,导致出现缺陷;其中一项特定缺陷需要修复,作者亦以幽默方式提及此类复杂正则表达式所带来的负面后果。原文及其验证规则均以英语和德语提供。本文建议,采用具有适当模式的更结构化 XML 表示法将是更佳且更易维护的方案。最终,试图通过复杂正则表达式实现“省力”之举被证明效率低下且易出错。