На мой взгляд, это действительно зависит от того, что вам нужно сделать, и диапазона возвращаемых значений.
Принять вызов с одним значением успеха и многими значениями отказа.Как правило, ==
или !=
проще сопоставить с успешным возвращаемым значением, чем сверять с любыми ошибочными значениями.В этом случае вы должны протестировать против != success
, если вам нужно, скажем, зарегистрировать и вернуть или выбросить в случае сбоя.
При вызове с одним и одним требуемое поведение более важно,поэтому я предлагаю выбрать более читаемый.Если ваши коды должны реагировать и, возможно, возвращаться в случае сбоя, проверьте == failure
вместо != success
.Первый более читабелен, поскольку требует одного шага мышления, а константа сбоя может быть кратко названа.
Возможно, вы также захотите рассмотреть, какой из них более вероятен, и обрабатывать его первым, или который численно больше или меньше.
В вашем случае, когда две функции совместно используют код успеха, а с разными кодами сбоя он падает до того значения, которое кажется более читабельным.Я бы согласился с тем, что тестирование == 0
в обоих случаях показалось бы лучше, но это действительно зависит от того, сколько кода находится между вызовами.Если у вас несколько десятков строк, разница в удобочитаемости может быть незначительной.Если это очень близко, вы можете даже ИЛИ получить результаты вместе и сэкономить себе еще несколько шагов.