Булев метод, называющий удобочитаемость

Вы не можете предотвратить процесс на дальнем конце канала от выхода, и если это выйдет, прежде чем Вы закончили писать, Вы получите сигнал SIGPIPE. Если Вы SIG_IGN сигнал, то Ваша запись возвратится с ошибкой - и необходимо отметить и реагировать на ту ошибку. Просто ловля и игнорирование сигнала в обработчике не являются хорошей идеей - необходимо отметить, что канал является ныне несуществующим, и измените поведение программы, таким образом, это не пишет в канал снова (потому что сигнал будет сгенерирован снова и проигнорирован снова, и Вы попробуете еще раз, и целый процесс мог продолжиться для длинный время и потратить впустую большую мощность ЦП).

103
задан Jed Smith 14 October 2009 в 14:49
поделиться

7 ответов

public boolean userExists(...)

Я бы предпочел. Поскольку это делает ваши условные проверки больше похожими на естественный английский:

if userExists ...

Но я думаю, что нет жесткого правила - просто будьте последовательны

92
ответ дан 24 November 2019 в 04:20
поделиться

Целью обеспечения читабельности всегда должно быть написание кода, максимально приближенного к естественному языку. Таким образом, в данном случае лучшим выбором будет userExists . Тем не менее, использование префикса «is» может быть правильным в других ситуациях, например isProcessingComplete .

14
ответ дан 24 November 2019 в 04:20
поделиться

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

Я бы, вероятно, выбрал номер три из-за того, как он звучит при чтении в операторах if. «Если пользователь существует» звучит лучше, чем «Если пользователь существует».

Предполагается, что он будет использоваться в тестах оператора if, конечно ...

1
ответ дан 24 November 2019 в 04:20
поделиться

Мне нравится любой из них:

userExists(...)
isUserNameTaken(...)
User.exists(...)
User.lookup(...) != null
1
ответ дан 24 November 2019 в 04:20
поделиться

Чисто субъективно.

Я предпочитаю userExists (...) , потому что тогда такие утверждения читаются лучше:

if ( userExists( ... ) )

или

while ( userExists( ... ) )
1
ответ дан 24 November 2019 в 04:20
поделиться

Я бы сказал userExists , потому что в 90% случаев мой код вызова будет выглядеть так:

if userExists(...) {
  ...
}

, и он очень буквально читается на английском языке.

if isUserExist и , если doesUserExist кажутся избыточными.

34
ответ дан 24 November 2019 в 04:20
поделиться

Я бы пошел с помощью Userexists (), потому что 1) это имеет смысл в естественном языке, а 2) следует за условными соглашениями API, которые я видел.

Чтобы увидеть, имеет ли он смысл на естественном языке, прочитайте его вслух. «Если пользователь существует», звучит больше похоже на действительность английской фразы, чем «Если пользователь существует» или «Если пользователь существует». «Если пользователь существует», будет лучше, но «The», вероятно, лишнее в названии метода.

Чтобы увидеть, существует ли файл в Java SE 6, вы бы используете файл. Экксисты () . Похоже, это будет такой же в версии 7 . C # Использование та же конвенция , как и Python и Ruby . Надеюсь, это разнообразная коллекция, чтобы называть этот язык-агностический ответ. Как правило, я бы справился с методами именования в соответствии с API вашего языка.

8
ответ дан 24 November 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: