Какой лучший способ назвать функцию предиката? - PullRequest
5 голосов
/ 18 декабря 2011

Я смотрю на функцию с именем:

WhetherAddFloor(leg) -> bool

, и когда я вижу такой код:

if(WhetherAddFloor(l)) ...

, он пахнет странно, и мне интересно, что-то вроде:

CheckAddFloorNeeded(leg) -> bool

не будет лучше?Мысли?

Ответы [ 2 ]

9 голосов
/ 18 декабря 2011

В языках, где разрешены вопросительные знаки в именах функций, стиль заключается в добавлении одного в конец, если функция возвращает логическое значение:

FloorNeeded?(leg)

Но там, где это не является синтаксически возможным, соглашение заключается в использованиислово «есть» в начале:

isFloorNeeded(leg)

Обычно его легко читать и понимать, и кажется, что оно подойдет для вашей ситуации.

1 голос
/ 18 декабря 2011

WhetherAddFloor() звучит как неудачный выбор для меня.

CheckAddFloorNeeded() лучше, если функция выполняет значительный объем работы, и вы хотели бы сообщить об этом факту тем, кто использует интерфейс.

IsFloorNeeded() также хорошо, если функция не имеет значительного объема работы (скажем, это просто средство доступа к ранее вычисленному члену) или если вы хотите сохранить эту небольшую часть информации секрет от тех, кто использует интерфейс.

...