抛弃C程序设计中的谬误与恶习(3)

来源:互联网 发布:linuxapp源码下线 编辑:程序博客网 时间:2024/04/25 17:47

//*******************************************************

  创建时间:2014年9月24日星期三

  创建作者:xxx

//*******************************************************

1、常数的处理

不变的数据通常可以用宏定义来处理

这是一种良好的编程习惯。这样的好处至少有以下三点:

1) 在某种程度上实现了数据与代码的分离。”把上帝的还给上帝,把魔鬼的还给魔鬼”。这是现代程序设计的一个基本思想。

2) 代码具有可读性。

3) 便于测试。


2、滥用变量

其实,滥用变量和上一个文档里的脱裤子放屁是一个意思,都是说定义的变量有累赘。

这里讲述一种情况就是在输出结果的时候

比如输出的结果可以用表达式直接给出,而有时写代码非要用一个变量做以下“二传手“,这个是相当要命的。


第六章   疑难杂症

“幸福的家庭都相似,不幸的家庭各有各的不幸”。------托尔斯泰.

程序设计也是如此,错误的种类有很多,很多实在难以分类,所以一并归入”疑难杂症”。

比如如下程序:

有一个排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。

样本源码略.

 

出现的问题:

1)、无聊

就是滥用变量,这一点我写代码的时候也有过,而且在开发一些项目时也很常见,这是编程大忌,需要严加记住。

比如如下代码就是反面典型:

Int end

End = a[9];

If(num > end)

{}

2)、忽左忽右,前后不一

    这里主要是在排序和查找时注意的地方,不要前面排了再在后面再排,找准思路,在一个方向做下去

3)、颠三倒四,手忙脚乱

注意:

Strcpy()函数:

是拷贝s2所指向的字符串(含结尾的NULL字符) 至s1指向的数组。如果两个对象重叠,则函数行为是未定义的。

如果两个字符串有重叠,应该使用memcpy()函数


3、边界测试---让BUG现形

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击