Называние функции: sendCharacter или receiveCharacter? - PullRequest
0 голосов
/ 07 мая 2010

Я пытаюсь назвать функцию, которая запускается, когда символ получает объектом.

Для вызывающего абонента он должен иметь имя 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 ]

4 голосов
/ 07 мая 2010

Возможно, это просто пример, который вы выбрали, но sendCharacter и receiveCharacter оба бессмысленны. Почему вы отправляете символ на объект?

Лучше было бы выбрать что-то, что указывает почему символ отправляется - например, appendCharacter.

Выбор конкретного примера добавления: C # и Java имеют StringBuilder, который имеет метод Append(string).Конечно, вы отправляете строку в экземпляр StringBuilder, а StringBuilder означает получение строки, но это не главное.Дело в том, что строка добавляется к своему внутреннему буферу / массиву / деталям реализации.

1 голос
/ 07 мая 2010

void processCharacter(char c) {...}

Я рад видеть кого-то еще, кто мучается из-за имен методов. Я трачу слишком много времени на это;)

1 голос
/ 07 мая 2010

Если метод реагирует на символ события , то как насчет

void onCharacter(char c);
...