函数命名:sendCharacter或receiveCharacter?

时间:2010-05-07 16:19:42

标签: function naming

我正在尝试命名一个在对象接收时运行的函数。

对于调用者,它应该命名为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 ) ;

这看起来很奇怪。

如何更好地命名此功能?

3 个答案:

答案 0 :(得分:4)

也许这只是您选择的示例,但sendCharacterreceiveCharacter都毫无意义。 为什么你要向对象发送一个角色?

更好的选择是选择一些指示为什么发送角色的内容 - 例如appendCharacter

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

答案 1 :(得分:1)

如果方法对字符事件做出反应,那么

void onCharacter(char c);

答案 2 :(得分:1)

void processCharacter(char c) {...}

我很高兴看到有人为方法名称而苦恼。我花了太多时间做这件事;)