C语言C++
资源名称:编程精髓(Microsoft 编写优质无错C程序秘诀) 资源目录: 第1章 假想的编译程序1、使用编译程序所有的可选警告设施2、使用lint来查出编译程序漏掉的错误3、如果有单元测试,就进行单元测试第2章 自己设计并使用断言1、既要维护程序的交付版本,又要维护程序的调试版本2、要使用断言对函数参数进行确认3、要从程序中删去无定义的特性或者在程序中使用断言来检查出无定义特性的非法使用4、不要浪费别人的时间——详细说明不清楚的断言5、消除所做的隐式假定,或者利用断言检查其正确性6、利用断言来检查不可能发生的情况7、在进行防错性程序设计时,不要隐瞒错误8、要利用不同的算法对程序的结果进行确认9、不要等待错误发生,要使用初始检查程序第3章 为子系统设防1、要消除随机特性——使错误可再现2、冲掉无用的信息,以免被错误地使用3、如果某件事甚少发生的话,设法使其经常发生4、保存调试信息,以便进行更强的错误检查5、建立详尽的子系统检查并且经常地进行这些检查6、仔细设计程序的测试代码,任何选择都应该经过考虑7、努力做到透明的一致性检查8、不要把对交付版本的约束应用到相应的调试版本上,要用大小和速度来换取错误检查能力第4章 对程序进行逐条跟踪1、不要等到出了错误再对程序进行逐条的跟踪2、对第一条代码路径进行逐条的跟踪3、当对代码进行逐条跟踪时,要密切注视数据流4、源级调试程序可能会隐瞒执行的细节,对关键部分的代码要进行汇编指令级的逐条跟踪第5章 糖果机界面1、要使用户不容易忽视错误情况,不要在正常地返回值中隐藏错误代码2、要不遗余力地寻找并消除函数界面中的缺陷3、不要编写多种功能集于一身的函数,为了对参数进行更强的确认,要编写功能单一的函数4、不要模棱两可,要明确地定义函数的参数5、编写函数使其在给定有效的输入情况下不会失败6、使程序在调用点明了易懂;要避免布尔参数7、编写注解突出可能的异常情况第6章 风险事业1、使用有严格定义的数据类型2、经常反问:“这个变量表达式会上溢或下溢吗?”3、尽可能精确地实现设计,近似地实现设计就可能出错4、一个“任务”应一次完成5、避免无关紧要地if语句6、避免使用嵌套的“?:”运算符7、每种特殊情况只能处理一次8、避免使用有风险的语言惯用语9、不能毫无必要地将不用类型地操作符混合使用,如果必须将不同类型地操作符混合使用,就用括号把它们隔离开来10、避免调用返回错误的函数第7章 编码中的假象1、只引用属于你自己的存储空间2、只有系统才能拥有空闲的存储区,程序员不能拥有3、指向输出的指针不是指向工作空间缓冲区的指针4、不要利用静态(或全局)量存储区传递数据5、不要写寄生函数6、不要滥用程序设计语言7、紧凑的C代码并不能保证得到高效的机器代码8、为一般水平的程序员编写代码第8章 剩下来的就是态度问题1、错误几乎不会“消失”2、马上修改错误,不要推迟到最后3、修改错误要治本,不要治表4、除非关系产品的成败,否则不要整理代码5、不要实现没有战略意义的特征6、不设自由特征7、不允许没有必要的灵活性8、在找到正确的解法之前,不要一味的“试”,要花时间寻求正确的解9、尽量编写和测试小块代码。即使测试代码会影响进度,也要坚持测试代码10、测试代码的责任不在测试身上,而是程序员自己的责任11、不要责怪测试员发现了你的错误12、建立自己优先级列表并坚持之 资源截图: