1.尽量保持别人接口的语义,最好不要限制,或者扩大,除了核心你要封装的参数。
int zoo_exists(zhandle_t *zh, const char *path, int watch, struct Stat *stat);
可以设计为:
int32_t IsExists(const string& path, int32_t watch = 0, struct Stat *stat = NULL)
其中 zhandle_t 这个核心的参数作为类的变量了,其余的参数尽量不要改,可以保持其语义的丰富以及完整,否则你就需要多写几个IsExists的特殊话接口了。有必要的时候才这么做。