2013-11-02 43 views
0

在事物的宏伟计划中可能不重要,但我对一些更有经验的程序员的想法感到好奇。在Objective-C属性命名中语法vs约定

假设我们有一个布尔属性来跟踪广告是否启用。由于“广告”是复数形式,所以现在复数形式''将用于一般写作。

但是,在我的代码中,所有其他布尔属性的前缀为''。例如:isUserLoggedIn'。

问:哪一个最好:一致性还是语法?

// Uniform, but grammatically incorrect: 
@property (nonatomic, assign) BOOL isUserLoggedIn; 
@property (nonatomic, assign) BOOL isAutoplayEnabled; 
@property (nonatomic, assign) BOOL isAdsEnabled; 

// or 

// Grammatically correct, but not uniform 
@property (nonatomic, assign) BOOL isUserLoggedIn; 
@property (nonatomic, assign) BOOL isAutoplayEnabled; 
@property (nonatomic, assign) BOOL areAdsEnabled; 

我继续使用areAdsEnabled,因为它困扰着我少。如果你认为我错了,那就点亮我。

+1

'areAdsEnabled'。或者只是'adsEnabled'。 – 2013-11-02 15:34:23

+3

投票结束:“许多优秀的问题都基于专家经验产生了某种程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实,参考或具体专业知识。” –

+0

我不打扰'is'前缀,大部分时间它不再是语法 - 'if(foo.isUserLoggedIn)'? MEH。现在'if(foo.userIsLoggedIn)'会更好,IMO。 – Kevin

回答

2

只有adsEnabled only或areAdsEnabled as a getter。

最主要的是,你应该只重命名这里,吸气

@property (nonatomic, assign, getter=areAdsEnabled) BOOL adsEnabled; 
+4

我知道这是允许的,但我对“投票结束”和同时回答有不好的感觉。在这种“基于意见”的情况下,只会给出你的意见。 –

+0

@MartinR我回答是因为我想表明他不应该重命名属性,而是使用getter = attribute –

+0

这就是为什么我同时拥有 –