4

我正在阅读 gearman 代码的手册页(http://manpages.ubuntu.com/manpages/precise/man3/gearman_success.3.html)。他们有两个功能

   bool gearman_success(gearman_return_t rc)
   bool gearman_failed(gearman_return_t rc)

这些函数的代码看起来像(libgearman-1.0/return.h):

static inline bool gearman_failed(enum gearman_return_t rc)
{
  return rc != GEARMAN_SUCCESS;
}

static inline bool gearman_success(enum gearman_return_t rc)
{
  return rc == GEARMAN_SUCCESS;
}

这两个功能几乎都做同样的事情。一个返回真,另一个返回假。这段代码有什么好处?

为什么不只拥有 !gearman_success

编码模式或其他东西有什么好处,我在这里错过了。

4

1 回答 1

1

这段代码更容易扩展。假设您为其添加另一个值enum

GEARMAN_SUCCESS_BUT_HAD_WARNINGS

对于您正在查看的实现,您所要做的就是调整这两种方法。没有它,您将不得不遍历GEARMAN_SUCCESS代码库中使用的每个地方,并确保enum正确处理新值。

于 2013-10-31T00:43:42.103 回答