关于函数的颗粒度(一)

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

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

 

比如:读书,

         读经济类的书,

         读《博弈论》

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

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

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

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

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

 

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

比如: 读某本书(书名)

             读某类书(类别名)

             读所有的书;

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

 

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

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

 begin

     if 书的名字 <> '' then

        读某本书(书的名字)

    else if 书的类别 <> '' then

        读某类书

    else

        读所有的书;

 end;  

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值