Следует ли называть метод C++ std::future <T> is_ready () или ready()?
Почему экспериментальное название is_ready()
рассматривается как улучшениеstd::future
и нет ready()
что больше соответствует стилю кодирования STL? В Future уже есть метод под названиемvalid()
который также не имеет is_
префикс.
2 ответа
Я подозреваю, что это из-за уже существующей константы перечисления std::future_status::ready
. Такis_ready()
проверяет статус ready
. Хотя оба они относятся к разным областям именования, я предполагаю, что авторы хотят избежать пересечения имен.
<speculation>
Я подозреваю is_ready()
яснее. При чтении кодаif (future.is_ready())
почти звучит по-английски и очевидно означает, что is_ready
является const
. if ( future.ready() )
звучит так, как будто это могло означать "future
нужно подготовиться, затем вернуться "или"future
уже готов ".
</speculation>