2011-01-23 50 views
1

我目前正在開發一個客觀的c項目,並且有一個方法可以在另一個術語中啓用/禁用OR:激活/取消激活全局HTTP代理。我想知道這種方法的最佳命名約定是什麼。該方法有一個BOOL參數來決定執行哪個操作,即:啓用或禁用。這是一個與大多數編程語言相關的風格問題,我決定我很喜歡這個偉大社區在這個問題上的輸入,這個問題由於某種原因而困擾着我。啓用/禁用或激活/取消激活的方法的命名約定

這是好嗎?什麼更好或更清晰?

-(BOOL) activate:(BOOL) theActivateFlag; 

-(BOOL) enable:(BOOL) theEnableFlag; 

將主叫[proxyObj激活:NO]或[proxyObj啓用:NO]可以理解爲去激活代理?
THX :)

回答

0

我喜歡形式反映功能在我的代碼

在文件的頂部我把

#define DISABLED NO 
#define ENABLED YES 

,並有我的職責是

- (void)toggleProxyAs:(BOOL)state { 
    // assuming enabled is property/instance variable 
    enabled = state; 
} 

並將其用作

[myProxyObj toggleProxyAs:ENABLED]; 

這不是標準的做事方式,但對我來說更清晰,並且不需要單獨的激活器/去激活器。

1

我還以爲(想這個問題,改變主意了幾次後)...

-(BOOL) enableProxy:(BOOL)shouldEnable; 

...會更有意義,雖然我d是第一個承認我偶爾會沉浸在命名約定絕望的黑暗坑中(牆壁塗抹了嚴重表達的函數和方法名稱的牆壁),所以也許我不是最好的答案。 :-)

2

使得蘋果使用enabled財產在自己的班級:

@property (nonatomic, getter = isEnabled) BOOL enabled; 

這就產生了如下的getter和setter:

- (BOOL)isEnabled { 
    return enabled; 
} 

- (void)setEnabled:(BOOL)flag { 
    enabled = flag; 
} 

或者你可以給你的代理一對activatedeactivate方法或enabledisable方法。

+0

+1我自己想過,但由於代理人(可能)只是所討論的類的一部分*,是否會(可能)誤導?這還是一個很好的建議,說。 – 2011-01-23 16:21:51

+0

@middaparka:我指的可能是將這些方法放在代理類中。 – BoltClock 2011-01-23 16:23:02