一句话:提出 RulePad,用代码片段和半自然语言交互式编写可检查的设计规则,显著优于 PMD Designer。
设计文档常因更新滞后而变得不准确、不完整且不可信,更好的做法是让开发者写下设计规则并检查代码一致性。但现有规则检查器要求学习专门的查询语言或程序分析框架,项目特定规则的编写门槛较高。本文提出两种规则编写技术:片段式编写,即通过部分代码片段指定待匹配元素的特征;半自然语言编写,即用文本表示帮助理解规则并消解歧义。作者在 RulePad 中实现了这些方法,并通过 14 名参与者的组间实验与 PMD Designer 对比。结果表明,使用 RulePad 的参与者成功编写了 13 倍多的查询元素,耗时显著更少,且更愿意在日常工作中使用 RulePad。
Good documentation offers the promise of enabling developers to easily understand design decisions. Unfortunately, in practice, design documents are often rarely updated, becoming inaccurate, incomplete, and untrustworthy. A better solution is to enable developers to write down design rules which are checked against code for consistency. But existing rule checkers require learning specialized query languages or program analysis frameworks, creating a barrier to writing project-specific rules. We introduce two new techniques for authoring design rules: snippet-based authoring and semi-natural-language authoring. In snippet-based authoring, developers specify characteristics of elements to match by writing partial code snippets. In semi-natural language authoring, a textual representation offers a representation for understanding design rules and resolving ambiguities. We implemented these approaches in RulePad. To evaluate RulePad, we conducted a between-subjects study with 14 participants comparing RulePad to the PMD Designer, a utility for writing rules in a popular rule checker. We found that those with RulePad were able to successfully author 13 times more query elements in significantly less time and reported being significantly more willing to use RulePad in their everyday work.