在Objective C中命名BOOL属性

时间:2013-05-27 21:00:30

标签: objective-c properties boolean naming-conventions

我不是母语人士,所以在下列情况下我有点困惑。众所周知Apple naming conventions on accessor methods。但它们只涵盖了简单的案例。

假设我有一个Fetcher类,显然可以-fetch。我希望能够执行延迟提取,并检查它是否已正确安排。不幸的是,这两个词(fetch和schedule)可能是名词或动词。我应该选择什么名字?

    对于计划的方法,
  1. -scheduleFetch-scheduleFetching进行对比?
    • @property (readonly, getter=isFetchScheduled) BOOL fetchScheduled vs
    • @property (readonly) BOOL fetchIsScheduled vs
    • getter=hasScheduledFetch vs
    • 其他什么?

    (所有这些打破“不要通过使用文章中的”分词“将动词转化为形容词)

  2. 情况更糟,因为我在此Request中有一个Fetcher属性,此请求有@property (getter=isTyped) BOOL typed。我应该如何为后者命名一个包装器属性?与上述相同的变体:hasTypedRequestisRequestTypedrequestIsTyped或其他任何内容?

1 个答案:

答案 0 :(得分:2)

根据我的理解,最重要的规则是可读性和一致性。我会使用“scheduleFetch”,“isFetchScheduled”和“isRequestTyped”。但是,如果您的程序中有其他约定,请坚持使用。

为了帮助理解,因为获取和调度都可以是动词和名词,所以可以使它们都不明确。

至于不要用分词的想法扭曲,我个人并不担心这太多,如果它让我紧张想出一些奇怪的英语短语。