Когда имя функции слишком длинное? - PullRequest
30 голосов
/ 19 июня 2009

Я стараюсь описывать имена своих функций, где это возможно. Это иногда приводит к именам функций в диапазоне от двадцати до тридцати символов, таких как «GetActionFromTypeName» или «GetSelectedActionType». В какой момент функции становятся слишком длинными для управления (не слишком длинными для компилятора)?

Ответы [ 27 ]

64 голосов
/ 19 июня 2009

Если есть более короткий, но описательный способ назвать функцию, то имя функции слишком длинное.

28 голосов
/ 19 июня 2009

Когда вы не можете больше читать их вслух, не делая вдох в середине = D

23 голосов
/ 19 июня 2009

Имя функции слишком длинное, когда оно начинает либо переоценивать то, что делает, либо когда оно мешает удобочитаемости кода.

17 голосов
/ 19 июня 2009

Когда он не делает все , что он говорит, что делает. ;)

15 голосов
/ 19 июня 2009
  1. Если вам нужно прокрутить вправо, чтобы прочитать его.
  2. Описывает 3 или более вещей, которые он делает - он не должен делать так много вещей.
  3. Ваш босс считает, что это слишком долго.
  4. Это длиннее, чем сам код.
  5. Он начинается с Get, как и 500 других функций.
  6. Никто не хочет его использовать.
  7. Есть еще одна функция, которая делает то же самое с более коротким именем, понятным пользователям.
  8. Можно сделать короче.
14 голосов
/ 19 июня 2009
С другой стороны it_dependends_on_nameing_convention_how_hard_function_reading_is_sometimes_long_names_are_readable.
7 голосов
/ 19 июня 2009

С Код завершен (1-е издание, стр. 188)

"Горла, Бенандер и Бенандер обнаружили, что усилия, необходимые для отладки программы на языке COBOL, были сведены к минимуму, когда переменные имели имена, в среднем от 10 до 16 символов (1990). Программы с именами, в среднем от 8 до 20 символов, были почти так же легко отладить. "

Это единственное эмпирическое обсуждение разумного ориентира для переменной длины имени, которое я когда-либо видел. Все остальное зависит от мнения и комфорта.

4 голосов
/ 19 июня 2009

Если имя функции «слишком длинное», то вполне вероятно, что сама функция также слишком длинная и несет слишком большую ответственность. Многие мудрые программисты говорят, что функция должна делать одно и только одно. Функция, имя которой должно быть длинным, чтобы точно описать, что она делает, вероятно, будет хорошим кандидатом для рефакторинга в несколько небольших и простых частных функций , которые, следовательно, имеют более короткие имена.

4 голосов
/ 19 июня 2009

Это может быть немного не по теме, но, как вы просили специально для указания function name (в отличие от метода), я подумал, что процитирую Linus Torvalds по именованию (хотя это больше относится переменным, но все же - принципы верны).

Глава 3: Наименование

C - это спартанский язык, поэтому Ваше имя будет. В отличие от Модула-2 и Программисты на Паскале, программисты на С не используйте милые имена, такие как ThisVariableIsATemporaryCounter. A C программист назвал бы эту переменную «ТМП», который гораздо проще написать, и не в последнюю очередь труднее понимать.

Короткие описательные имена хорошо сочетаются с короткими конкретными функциями ... которые хорошо сочетаются с повторным использованием кода.

4 голосов
/ 19 июня 2009

Я не думаю, что имя метода может быть слишком длинным, если оно носит описательный характер. Если имя метода превышает 40 символов, я посмотрю, смогу ли я передать то же значение меньшим количеством слов. Если нет, я буду жить с длинным именем ради ясности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...