解析使用C++编写无错代码的方法技巧_C 语言

编写无错代码的最好方法是把防止错误放在第一位。

1、while语句后面的空语句问题?
 
while语句是一个循环语句,有时候需要空语句有时不需要空语句。为了避免出现误用用语句
我们规定在while使用空语句的时候才用下列方式:
while(*pchTo++ = *pchFrom)
    NULL;
使用NULL的好处在于编译程序不会为NULL语句产生任务的代码,因为NULL只是个常量。
2、使用lint来查出编译程序漏掉的错误
3、如果有单元测试,就进行单元测试
4、既要维护程序的交付版本,又要维护程序的调试版本。
5、要使用断言对函数参数进行确认
6、要从程序中删除无定义的特性或者在程序中使用断言来检查出无定义特性的非法使用。
7、不要浪费别人的时间——详细说明不清楚的断言
8、消除所有的隐式假定,或者利用断言检查其正确性
9、利用断言来检查不可能发生的情况
10、在进行防错性程序设计时,不要隐瞒错误
11、要利用不同的算法对程序的结果进行确认
12、不要等待错误发生,要使用初始检查程序

时间: 2024-09-20 11:00:31

解析使用C++编写无错代码的方法技巧_C 语言的相关文章

浅谈C语言编程中程序的一些基本的编写优化技巧_C 语言

大概所有学习C语言的初学者,都被前辈说过,C语言是世界上接近最速的编程语言,当然这并不是吹牛,也并不是贬低其他语言,诚然非C语言能写出高速度的代码,但是C语言更容易写出高速的程序(高速不代表高效),然而再好的工具,在外行人手中也只能是黯淡没落. 对于现代编译器,现代CPU而言,我们要尽量迎合CPU的设计(比如架构和处理指令的方式等),虽然编译器是为程序员服务,并且在尽它最大的能力来优化程序员写出的代码,但是毕竟它还没有脱离电子的范畴,如果我们的代码不能让编译器理解,编译器无法帮我们优化代码,那么

解析bitmap处理海量数据及其实现方法分析_C 语言

[什么是Bit-map] 所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素.由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省. 如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复).那么我们就可以采用Bit-map的方法来达到排序的目的.要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byte的空间,将这些空间的所

深入解析phpCB批量转换的代码示例_php技巧

我们在使用PHP语言的时候会遇到转换图片文件的需求.如果实现批量转换的话,就能节约大量的时间.下面我们就为大家具体讲解有关phpCB批量转换的方法. 最近需要整理一个整站的php代码规范视图,前几天发现phpCB整理视图非常好,但有个缺点是不能批量处理,使用过程中发现phpCB是一个CMD程序,马上就想到php的system函数调用cmd,想到就做,下面是phpCB批量转换的php程序: 复制代码 代码如下: < ?  header("Content-type: text/html; ch

C语言的语法风格与代码书写规范指南_C 语言

C代码: #include <stdio.h> int main(void) { printf("That is Right Style\n"); return 0; } 在一个标准的C语言程序中,最特殊的莫过于main函数了,而说到底它就是一个函数而已,仅仅因为它地位特殊拥有第一执行权力,换句话说,难道因为一个人是省长它就不是人类了?所以函数该有的它都应该有,那么函数还有什么呢? 函数大体上分为内联函数(C99)(内联函数并非C++专属,C语言亦有,具体见前方链接)和非内

解析C/C++中如何终止线程的运行_C 语言

想要终止线程的运行,可以使用以下方法: 1.线程函数返回(最好使用该方法). 2.通过调用ExitThread函数,线程将自行撤消(最好不使用该方法). 3.同一个进程或另一个进程中的线程调用TerminateThread函数(应避免使用该方法). 4.ExitProcess和TerminateProcess函数也可以用来终止线程的运行(应避免使用该方法). 下面将详细介绍终止线程运行的方法:1-4,并说明线程终止运行时会出现何种情况:5. 1.线程函数返回 始终都应该将线程设计成这样的形式,即

解析C++编程中的继承方面的运用_C 语言

C++继承与组合详解 我们知道,在一个类中可以用类对象作为数据成员,即子对象(详情请查看:C++有子对象的派生类的构造函数).实际上,对象成员的类型可以是本派生类的基类,也可以是另外一个已定义的类.在一个类中以另一个类的对象作为数据成员的,称为类的组合(composition). 例如,声明Professor(教授)类是Teacher(教师)类的派生类,另有一个类BirthDate(生日),包含year,month,day等数据成员.可以将教授生日的信息加入到Professor类的声明中.如:

stringstream操纵string的方法总结_C 语言

1 split字符串 之前在用C#写代码的时候,用过split函数,可以把一个字符串根据某个分隔符分成若干个字符串数组.在用C++操纵字符串的时候,我一直使用很笨的遍历的方法.为此,我问候过很多次C++标准委员会.直到某一天,我做了一个处理绝对路径的题目. 首先,我要把'/'作为分隔符,把输入字符串split一下.下面是我的代码: string inputString("/home/fun/./../code/"); stringstream ss(inputString); stri

c++获取sqlite3数据库表中所有字段的方法小结_C 语言

常用方法: 1.使用sqlite3_get_table函数 2.获取sqlite创建表的sql语句字符串,然后进行解析获取到相应的字段 3.采用配置文件的方式,将所有字段名写入配置文件 下面针对这三个方法给大家逐一详细介绍. 方法1:使用sqlite3_get_table函数 代码: char *dbname = "test.db"; int rc = sqlite3_open(dbname, &db); if (rc == SQLITE_OK) { char sql[256]

C语言编写简单的定时关机程序_C 语言

写一个定时关机的小程序,可以立即关闭计算机,也可以一段时间后关闭计算机. 这里主要考察system()命令. 代码实现: #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { char cmd[20]="shutdown -s -t "; char t[5]="0"; int c; system("title C语言关机程序")