文档章节

(总结)编写高质量c语言代码 第一章假想的编译程序

索隆
 索隆
发布于 2012/04/18 21:53
字数 400
阅读 85
收藏 1

1.编写代码时不要过多依赖代码写完后的测试,黑盒测试过程只是不断填充数据而已,而且有运气成分在其中。

2.好的编译程序应该能够这样 ─── 可以把屡次出错的合法的习惯用法看成程序中的错误。

3.(用于while或for及if中)为了查出不需要的空语句,编译程序常常在遇到空语句时给出一条可选的警告信息,自动警告你可能出了上面的错误。当确定需要用空语句时,你就用。但最好用 NULL 使其明显可见

4.要防止在if语句中用到=即赋值语句,要对这个发出警告(同理为位运算符)。

5.要会利用原型进行检查,在相应界面和原型中使用了更加精确的类型,就可以增强原型提供的错误检查能力。 

6.使用编译程序所有的可选警告设施 。     

7.使用 lint 来查出编译程序漏掉的错误 。

8.要保持单元测试。

9.    /*注意:本注释将产生一个警告 */ 

    /* 本注释不产生警告 */ 

10.把赋值号两边的操作数颠倒过来

11.为了防止误定义的预处理的宏产生不可预料的结果,编译(实际是预处理)程序应 该具有一个开关允许程序员可以把无定义的宏用于错误情况。

© 著作权归作者所有

索隆
粉丝 138
博文 391
码字总数 131938
作品 0
保定
私信 提问
C语言学习必须清楚的事情,这就是C语言的开始

基本常识 计算机语言:把人与计算机之间交流的语言叫做计算机语言 计算机语言分为高级语言和低级语言 高级语言:远离硬件 低级语言:贴近硬件 指令:是指计算机执行某种操作的命令。它由一串...

小辰GG
2017/11/30
0
0
初学C语言?先搞懂这些基础知识再谈深度学习吧!

很多初学者都会问我 “小编,我想学C,该怎么开始呢?” 今天我们就来聊一聊 属于初学者必须懂的知识 希望小伙伴们 能够牢记基础知识 唯有不断努力 才能更加顺利 基本常识 计算机语言: 把人与...

诸葛玥
2018/06/12
0
0
《编程精粹》书摘与读书笔记

提示:本文是一篇个人读书笔记,并不是对原书内容的系统总结整理,除了两处标红部分,可能对作者以外的读者没有太大的参考意义。   每条准则都有例外 第1章 假想的编译程序 使用编译程序所...

长征6号
2017/05/18
0
0
C语言编译全过程

编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接...

AlphaJay
2010/04/14
262
0
C语言编译过程总结简版

C语言编译过程总结详解 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形...

AlphaJay
2010/05/21
460
1

没有更多内容

加载失败,请刷新页面

加载更多

关于PHP处理Json数据的例子

本文转载于:专业的前端网站➜关于PHP处理Json数据的例子 最近工作需要在原来静态看板(大屏)页面的基础上,实现数据的动态展示,而且需要定时刷新。 接到任务后就马不停蹄的开始修改页面: ...

前端老手
24分钟前
4
0
Archiva 不小心删掉了管理员权限怎么办

Archiva 的界面和 UI 比较容易出问题。 在添加用户和为用户进行权限修改的时候,不小心连 admin 这个用户的权限都删掉了。 这个时候应该如何恢复 admin 这个用户的权限? 这个时候你可以尝试...

honeymoose
今天
7
0
Java8新特性之空指针异常的克星Optional类

Java8新特性系列我们已经介绍了Stream、Lambda表达式、DateTime日期时间处理,最后以“NullPointerException” 的克星Optional类的讲解来收尾。 背景 作为开发人员每天与NullPointerExceptio...

程序新视界
今天
5
0
OSChina 周四乱弹 —— 福布斯终身秃头奖

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享如是我闻的单曲《地藏经上卷》: 如是我闻#今日歌曲推荐# 《地藏经上卷》- 如是我闻 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
896
14
Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部