关于函数的颗粒度(一)

来源:互联网 发布:黄有龙 赵薇 知乎 编辑:程序博客网 时间:2024/04/27 22:34

什么时候应该用通用的函数接口,什么时候应该用具体的函数接口,写程序经常碰到这个问题。

通用接口的好处可能是避免接口过多修改,缺点是内部总是变来变去,而且是不便于阅读。

 

比如:读书,

         读经济类的书,

         读《博弈论》

有些人喜欢接口写成: 读书(书的类别,具体的书)。

      其中:具体的书,可以为空,为空的时候表示读某类别所有的书;

               如果连类别都为空,就是读所有的任何书。

这样关于读书的操作大多数都可以完成。

缺点是不容易理解,人为定义了一些二义性。

 

我个人人为应该多谢一些具体的函数:

比如: 读某本书(书名)

             读某类书(类别名)

             读所有的书;

这样的好处是每个函数是具体的,没有二义性的。函数后期的灵活性比较大。

 

这些基本函数可以和第一类的函数组合在一起,如下:

 procedure 读书(书的类别,书的名字)

 begin

     if 书的名字 <> '' then

        读某本书(书的名字)

    else if 书的类别 <> '' then

        读某类书

    else

        读所有的书;

 end;  

 

 

太过抽象的接口一般不主张使用。尽量具体。这对整个团队都有好处。

原创粉丝点击