我目前正在开发一个Objective c项目,并且有一个方法可以在另一个术语中启用/禁用OR:激活/停用全局HTTP代理。我想知道这种方法的最佳命名约定是什么。该方法有一个BOOL参数来决定执行哪个操作,即:启用或禁用。这是一个与大多数编程语言相关的风格问题,我决定我喜欢这个伟大的社区对这个问题的投入,因为某些原因困扰着我。
这是好事吗?什么更好或更清楚?-(BOOL) activate:(BOOL) theActivateFlag;
或
-(BOOL) enable:(BOOL) theEnableFlag;
调用[proxyObj activate:NO]或[proxyObj enable:NO]会被理解为停用代理吗?
谢谢:)
答案 0 :(得分:2)
Apple在自己的类中使用enabled
属性:
@property (nonatomic, getter = isEnabled) BOOL enabled;
创建以下getter和setter:
- (BOOL)isEnabled {
return enabled;
}
- (void)setEnabled:(BOOL)flag {
enabled = flag;
}
或者,您可以为代理商提供一对activate
和deactivate
方法或enable
和disable
方法。
答案 1 :(得分:1)
我已经想过了(在考虑了它并改变了我的想法之后)......
-(BOOL) enableProxy:(BOOL)shouldEnable;
......会更有意义,虽然我是第一个承认我偶尔会沉溺于命名惯例绝望的黑暗坑(墙上涂有严重表达的功能和方法名称),所以也许我不是最好回答这个问题。 : - )
答案 2 :(得分:0)
我喜欢表单在我的代码中反映功能
在文件的顶部我放了一个
#define DISABLED NO
#define ENABLED YES
并且我的功能是
- (void)toggleProxyAs:(BOOL)state {
// assuming enabled is property/instance variable
enabled = state;
}
并将其用作
[myProxyObj toggleProxyAs:ENABLED];
这不是标准的做事方式,但对我来说它更清晰,无需单独的激活器/去激活器。