iphone - 努力以正确的方式命名此方法

标签 iphone objective-c

长时间的 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/

相关文章:

ios - 从其中一个末端同时旋转 y,z 轴上的 View

iphone - 倒数计时器不会停在 0

ios 应用程序启动和 protected 数据事件

iphone - 发生当机事故时,TestFlight TFLog无法上传

iphone - iPhone 资源的单独目录

iphone - 如何在 UIBarButtonItem 上触发高亮效果

ios - 如何在另一个 View 下方创建可点击按钮? (iOS)

objective-c - 使用 DiskArbitration 在 OSX 中卸载磁盘

ios - 如何将 UIBezierPath 带到 MKAnnotation 对象的后面?

iphone - 如何以编程方式读取 iPhone iOS 5 上的通话记录