帮我找一个这个方法的名字

时间:2011-08-09 12:09:29

标签: c# .net

我想为方法提供一个有意义的名称,但我找不到足够的好处。方法应该通过参数锁定和解锁用户。

候选人的标志是:

void LockUser(int userid,bool @lock)
void LockUser(int userid,bool @locking)
void LockOrUnlockUser(int userid,bool @lock)

void LockUser(int userid);
void UnlockUser(int userid);

第一个和第二个问题是方法名称说lockuser但它也能够通过锁定参数解锁用户,所以这是令人困惑的。 LockOrUnlock方法名称更有意义,但我找不到更好的参数名称。它应该是洛克? 另一个apporach是将它们分成不同的方法,这为方法提供了更有意义的名称,但我想只使用一种方法而不是两种方法。

等待建议。

5 个答案:

答案 0 :(得分:3)

Martin Fowler suggests使用不同的方法。否则,您实施 Flag Argument 方法,他认为该方法是糟糕的设计选择

  

flag参数是一种告诉函数的函数参数   根据其价值进行不同的操作。

     

我对标志参数的一般反应是避免它们。而不是   使用flag参数,我更喜欢定义单独的方法。

答案 1 :(得分:2)

bool @lock替换为enum - 这可以说是更好的设计方式。至于命名,也许ToggleUserLock(int userID, UserLock @lock)

答案 2 :(得分:1)

“SetUserLock(int userid,bool @lock)”

“ToggleUserLock(int userid)”

答案 3 :(得分:0)

SetUserLockStatus()

怎么样?

从技术上讲,您从参数

设置锁定/解锁状态

答案 4 :(得分:0)

怎么样

  

ChangeUserLockStatus