关于函数的颗粒度(一)
来源:互联网 发布:黄有龙 赵薇 知乎 编辑:程序博客网 时间:2024/04/27 22:34
什么时候应该用通用的函数接口,什么时候应该用具体的函数接口,写程序经常碰到这个问题。
通用接口的好处可能是避免接口过多修改,缺点是内部总是变来变去,而且是不便于阅读。
比如:读书,
读经济类的书,
读《博弈论》
有些人喜欢接口写成: 读书(书的类别,具体的书)。
其中:具体的书,可以为空,为空的时候表示读某类别所有的书;
如果连类别都为空,就是读所有的任何书。
这样关于读书的操作大多数都可以完成。
缺点是不容易理解,人为定义了一些二义性。
我个人人为应该多谢一些具体的函数:
比如: 读某本书(书名)
读某类书(类别名)
读所有的书;
这样的好处是每个函数是具体的,没有二义性的。函数后期的灵活性比较大。
这些基本函数可以和第一类的函数组合在一起,如下:
procedure 读书(书的类别,书的名字)
begin
if 书的名字 <> '' then
读某本书(书的名字)
else if 书的类别 <> '' then
读某类书
else
读所有的书;
end;
太过抽象的接口一般不主张使用。尽量具体。这对整个团队都有好处。
- 关于函数的颗粒度(一)
- 关于函数的颗粒度(二)
- 你设计的测试用例颗粒度多大合适?(一)
- 关于DB_CACHE_SIZE中涉及到的granule size(颗粒值)
- 服务颗粒度的困扰
- 服务颗粒度的困扰
- 服务颗粒度的困扰
- 服务颗粒度的选择
- 【颗粒归仓】(一)jQuery easyui datagrid 的数据加载
- 管理经济学之颗粒归仓(一)
- 你设计的测试用例颗粒度多大合适?(二)
- 你设计的测试用例颗粒度多大合适?(三)
- 文字的颗粒效果
- 内存颗粒的理解
- 数据统计颗粒度
- 关于指针函数和函数指针的问题(一)
- 空气颗粒度PM2.5的检测设计与实现
- android TimeUnit表示给定单元颗粒度的时间段
- IE6 下父级(relative)使用padding后,子元素绝对定位(absolute)的bug
- CDMA2000 1X数据业务流程
- 不允许从数据类型 ntext 到 varchar 的隐性转换。请使用 CONVERT 函数来运行此查询
- vm 虚拟机使用的注意事项.
- ORACLE LATCH介绍
- 关于函数的颗粒度(一)
- ABAP:截取字符串(Start Routine)
- 用C#调用Windows API实现自动登录
- oracle表分区(转载)
- 删除重复数据
- Servlet为什么有两个init()方法
- mvn install:install文件名中需要不出现空格
- Java类加载内幕
- 预览ExtJS 4.0的新功能/新特性(一):渲染组件的方式