我正在研究一个对象,该对象建议可能的方法分类。寻找推断选择器分类的方法
到目前为止,我已经实现了以下策略:
- 相同的选择的本地分类(即,在同一层次上下)
- 在其他类别相同的选择的其他分类(分类通过频率)
- 存取检测(是该方法的设置器或吸气剂?
ifTrue: [^#accessing]
) - 已知选择前缀(#IS ...,#PRINT ...,#as ...等)
,并且如果所有上述的失败(即,建议是空的):
- 类别下的方法(仅在该方法的类理解的那些发送的其他消息,并超类)
从相同类只发送选择器 - > #private(@Carlos E.铁)
已知选择(#= #hash等 - > #comparing等)
空类别(如果一类是空的机会是用户刚添加它用于下一个选择器进行分类。)
我还有其他已知的启发式吗?
--- --- EDIT
我们在哪里可以找到你的'SelectorClassifierAssistant'? – MartinW
这是一个非常有趣的问题。你的清单看起来不错。让我们张贴您的发现。我对自动分类没有太大的兴趣,但我很乐意阅读风格指南。我也对使用gerunds作为协议名称感兴趣。 – MartinW
@MartinW动名词的用法来自于你如何阅读协议:*方法来访问*等,在蓝皮书大汗说明。 –