GhostDoc事实上并不懂英语,那为何它生成的文档却常常令人相当满意?其中的基本原理颇为简单,GhostDoc假定你的代码遵从微软类库开发人员设计规范:
1、你的代码使用Pascal或Camel命名法为由多个单词组成的标识符命名
2、你的方法名通常以动词开头
3、你在标识符中不使用缩写
如果你能够遵从这些规则(比如,使用ClearCache()而不是Clrcch()),同时使用一些自解释的标识符名称,那么GhostDoc就能派上用场了,它把标识符分割为几个单词,将它们组合来生成注释,也许并不完美,却给你一个良好文档的开始。
文本的生成使用可定制的规则和模板,除了内置的规则,还可以定义新的自定义规则来扩展或替换既有的规则(为你的自定义规则提供更高的优先级或禁用内置规则)。
上面提到过,GhostDoc并不懂英语,但它会尝试使用某种机制来提高生成注释的质量:
1、动词的处理机制(GhostDoc假定方法名的首个单词为动词):Add->Adds,Do->Does,Specify->Specifies;
2、"Of the"排序组织机制:ColumnWidth –> Width of the column.
3、 一些特殊形容词的特殊合并机制:例如,MaximumColumnWidth->Maximum
width of the column而不是Width of the maximum column
4、 对首字母缩写组成的常量的自动检测,并通过一个列表来处理其它的