项目中经常有函数接口设计成
BOOL foo();
这样的形式, 使用者(client)当然会考虑检查函数的返回值, 那么值情况下返回false呢? 如果没有函数接口文档, 就得检查函数的实现, 往往是, 一旦检查函数的实现, 才发现函数中只有一个返回语句, 也就是说永远只返回 TRUE或FALSE.
上述这种使用者对该函数的考查过程的虚耗完全是由这种不良的接口设计所造成的, 既然函数的实现者只可能返回一个值, 何必要声明为BOOL 来误导他人呢?
这种问题的一些变形还包括: 声明返回int, 但总是返回一个固定的值.
这个问题其实与具体的语言都没有关系, 同样可以应用到其它语言的接口设计规则中去, 看似简单到不值得一提, 而实际上正是我在实际项目中多次看到这种问题, 终于忍不住在这记上一笔.
阅读(538) | 评论(0) | 转发(0) |