长时间的 c#/java/c++ 程序员,全新的 objectivce C。阅读指南,查看 api,但在命名约定方面还不完全。
示例:假设我有一个 Cars 类,其中包含每辆汽车的数组,并且您希望方法返回该数组的一个子集。
我看到 NSArray 有一个方法:getObjects,但在大多数情况下我没有看到“get”。所以 你喜欢哪个?
感谢所有意见!花了太多时间思考这个问题。
选项 A) -(NSArray *) getCarsWithColor:(NSString *)color;
选项 B) -(NSArray *) getCars:(NSString *)withColor;
Optoin C) -(NSArray *) carsWithColor:(NSString *)color;
选项 D) -(NSArray *) cars:(NSString *)withColor;
选项E)以上都不是,命名为xxxxxxxxxxxx....
谢谢。
最佳答案
Objective-C 方法很少用get
命名。 getObjects:
方法中有 get
只是因为结果放在输入参数的缓冲区中。
-(void)getObjects:(id*)aBuffer;
^^^^ ^^^^^^^
而您的方法不是填充缓冲区,而是返回一个数组。选项 (A) 和 (B) 已出局。
此外,参数类型通常是选择器名称的一部分(:
之前的内容),例如
-(UIView*)viewWithTag:(NSInteger)tag
^^^^^^^
// not view:(NSInteger)withTag
-(CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view
// not convert:(CGPoint)point from:(UIView*)view;
因此不鼓励选项 (D)。
可以在 Coding Guidelines for Cocoa: Naming Methods 中找到有关命名方法的详细指南。 .本指南还包括您可能感兴趣的其他约定。
关于iphone - 努力以正确的方式命名此方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4178539/