Chinaunix首页 | 论坛 | 博客
  • 博客访问: 369198
  • 博文数量: 159
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 182
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-02 10:42
文章分类

全部博文(159)

文章存档

2015年(18)

2014年(132)

2013年(9)

分类: C/C++

2015-09-14 19:14:59

原文地址:编程点滴(一) 作者:chaozhong_152

编程的永恒追求:时间开销、空间开销,对于程序员来说追求极致没有问题,但在实际项目中往往做一定的取舍,进行折中。
编程的过程其实是组件设计或者利用现有组件的过程,如果有直接拿来可用的,在时空开销都能满足的情况下,拿来主义就很好,如果不能满足,便需要自行定制。这里组件在不同的语言,不同的粒度下,都有对应的体现。
下面以c语言简单的接口函数为例,找出一个数组中第二大的整数。
// 接口设计,为避免修改数组内部数据,应为data进行const修饰
int findSecondBiggerNum(const int data[], int len) {
   if(NULL == data || len < 2) {
       return -1; // need take more effort, which will be mixed with found bigger num -1
   }
   int bigger = biggest = data[0], i;
   for(i = 1; i  < len; ++i) {
       if(data[i] > biggest) {
           bigger = biggest;
           biggest = data[i];
       } else {
           if(data[i] > bigger) {
               bigger = data[i];
           }
       }
   }
   if(bigger == biggest)  { // which means all elem equal
       return -1; // need take effort
   } 
   return bigger;
}  
接口是给别人用的,不同的人调用的方式可能千差万别,尽可能多的涵盖每种条件,不要对调用者做过多的假设。
接口的完完备性:在正常满足需求的前提下,函数原型的合理性与功能实现的全面性。

软件的复用,封闭式复用,开放式复用,所谓封闭就是在一个相对狭小的范畴内,team内,部门内部,相对的开放式可能会被世界范围内任何一个人使用,这中间的差别就要求对接口或者类的设计的要求,以下从几个方向阐述如何设计完备类,如有纰漏,望补漏。
与c相比c++提供了强大的类型系统,自己设计的类型与内置类型得到了同样的支持,甚至得到了加强。
阅读(1053) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~