Chinaunix首页 | 论坛 | 博客
  • 博客访问: 818963
  • 博文数量: 756
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:40
文章分类

全部博文(756)

文章存档

2011年(1)

2008年(755)

我的朋友

分类:

2008-10-13 16:09:36

类型前辍是最丑陋的规范
类型前辍将变量的类型信息从单一地点(声明变量处)复制到了多个地点(使用变量处),这是典型的冗余法。

如:strcpy(pstrSource,pcstrDest) Vs strcpy(source,dest)
类型前辍在这里有个屁用(除了增加输入量)
没有一个程序员会承认自己不知道strcpy函数的参数类型吧。
再如:Function(nFoo) Vs Function(foo)
类型前辍在这里有什么用呢?
对于一个不能确定类型的函数,程序员应该去查看该函数的文档,
类型前辍的唯一好处是看代码的人知道这个函数要求一个整型参数,这又有什么用处呢?函数是一种接口,参数的类型仅仅是接口中的一小部分。诸如函数的功能、出口信息、线程安全性、参数合法性等重要信息还是必须查阅文档。

再比如:nFoo=nBar Vs foo=bar
类型前辍在这里有什么用呢?使用类型前辍的唯一好处是看代码的人知道这里发生了一个整型变量的赋值动作。如果他看到的是nFoo=szBar,可能会从美梦中惊醒。且慢,事情真的会是这样吗?我想首先被惊醒的应该是编译器。另一方面,nFoo=nBar只是在语法上合法而已,看代码的人真正关心的是语义的合法性,类型前辍对此毫无帮助。

最后,在模板内部定义中,你怎样在模板参数类型的对象的名字里增加些丑陋的前缀?你不知道它们是什么。

--------------------next---------------------

阅读(326) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~