4

私はギアマン コードのマニュアル ページを読んでいました ( http://manpages.ubuntu.com/manpages/precise/man3/gearman_success.3.html )。彼らは2つの機能を持っています

   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;
}

どちらの機能もほぼ同じことを行います。1 つは true を返し、もう 1 つは false を返します。このコードの利点は何ですか?

!gearman_success だけではない理由

ここで見逃しているコーディングパターンまたは何かの利点はありますか。

4

1 に答える 1

1

このコードは拡張が容易です。それに別の値を追加するとしますenum

GEARMAN_SUCCESS_BUT_HAD_WARNINGS

あなたが見ている実装では、両方のメソッドを調整するだけです。それがなければGEARMAN_SUCCESS、コードベース全体で使用されているすべての場所を調べて、新しいenum値が適切に処理されることを確認する必要があります。

于 2013-10-31T00:43:42.103 に答える