2010-05-07 68 views
0

我试图命名一个字符是收到由对象运行的函数。函数命名:sendCharacter或receiveCharacter?

对于调用者,它应该被命名为sendCharacter,以便它可以调用:

object->sendCharacter(character) ; 

这看起来不错呼叫者..但对于接收器,它实现的方法

/// Called when this object is do something 
/// with a character 
/// from the caller 
void sendCharacter(char c) ; 

所以对于收件人类,它看起来像这个方法实际上是发送一个字符出来,没有收到一个。

那么,我可以调用函数receiveCharacter

/// Called when this object is do something 
/// with a character 
/// from the caller 
void receiveCharacter(char c) ; 

但现在来电做到这一点:

object->receiveCharacter(character) ; 

刚刚看起来很奇怪。

我怎样才能更好地命名这个功能?

回答

1

void processCharacter(char c) {...}

我很高兴看到别人谁而感到忧心忡忡方法名。我花了太多时间做这件事;)

+0

我喜欢这个名字的“双重性” - 它确实对呼叫者和接收者都有意义 – bobobobo 2010-05-07 19:29:23

4

也许这只是您选择的示例,但sendCharacterreceiveCharacter都没有意义。 为什么是你发送一个字符给对象?

一个更好的选择是挑选一些指示为什么字符正在发送 - - 例如,appendCharacter

选择特定的“追加”示例:C#和Java都有一个StringBuilder,它有一个Append(string)方法。当然,你发送字符串到StringBuilder的实例,而StringBuilder收到的字符串,但这不是重点。重点是该字符串被附加到其内部缓冲区/数组/实现细节。

+0

这是一个有趣的角度! – bobobobo 2010-05-07 19:28:27

1

如果人品反应事件的方法,那么怎么样

void onCharacter(char c);