Cocoa方法命名约定:使用vs For

时间:2017-01-12 00:19:35

标签: cocoa naming-conventions

我正在寻找关于With vs For的一般共识或意见,例如:

-(NSImage *)imageWithStyle:(MyImageStyle)style
-(NSImage *)imageForStyle:(MyImageStyle)style

-(id)controllerWithView:(NSView *)view
-(id)controllerForView:(NSView *)view

思想?

当你使用一个而不是为什么?

1 个答案:

答案 0 :(得分:2)

我倾向于工作的基础是,如果A与B没有关系,但B的各个方面可能会改变A会做什么,那么你就可以从B中用信息制作A

如果A与B有某种关系,例如B有一种列出与之相关的所有A的方法,然后我将为(代表)B制作A

控制器就是一个很好的例子。如果控制器是使用视图,则意味着控制器不是"对于"什么,它只是一些控制器,但它使用位或所有视图来做事情。但如果它是一个控制器用于一个视图,那么现在我们已经暗示了一个永久关联 - 这是一个控制器,用于控制视图。所以在这里,我使用controllerForView

在图像和样式示例中,我想你的意图是某个对象描述了正在构建的图像的默认方面。我使用imageWithStyle。每个人都喜欢带有风格的图像...... ;-)

尽管如此,它还是微妙的。如果您认为存在歧义,您可以考虑不那么传统但更清晰的术语 - 例如imageFromTemplateimageBasedOnStyle。可可往往更倾向于英语易读性,而不是简洁。