2011-01-23 79 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