`
- 浏览:
180101 次
- 性别:
- 来自:
杭州
-
风格:
- 全局变量用具有描述意义的名字,局部变量用短名字。
- 保持一致性。
- 函数采用动作性的名字。
- 要准确。
- 以缩行形式显士程序的结构。
- 使用表达式的自然形式。
- 利用括号排除歧义。
- 分解复杂的表达式。
- 要清晰。
- 当心副作用。
- 使用一致的缩行和加括号风格。
- 为了一致性,使用习惯用法。
- 用else-if处理多路选择。(这里是指避免使用if里面套if的用法)
- 避免使用函数宏。
- 给宏的体和参数都加上括号。(或者用do{...}while(0);的方式)
- 给神秘的数起个名字。
- 把数字定义为常量,不要定义为宏。
- 使用字符形式的常量,不要用整数。
- 利用语言去计算对象的大小。
- 不要大谈明显的东西。
- 给函数和全局数据加注释。
- 不要注释不好的代码,应该重写。
- 不要与代码矛盾。
- 澄清情况,不要添乱。
界面:
- 隐藏实现的细节。
- 选择一小组正交的几本操作。
- 不要在用户背后搞小动作。
- 在各处都用同样方式做同样的事。
- 释放资源与分配资源应该在同一层次进行。
- 在低层检查错误,在高层处理。
- 只把异常用在异常的情况。
除错:
- 寻找熟悉的模式。
- 检查最近的改动。
- 不要两次犯同样的错误。
- 现在排除,而不是以后。
- 取得堆栈轨迹。
- 键入前仔细读一读。
- 把你的代码解释给别人。
- 把错误弄成可以重现的。
- 分而治之。
- 研究错误的计数特性。
- 显示输出,使搜索局部化。
- 写自检测代码。
- 写记录文件。
- 画一个图。
- 使用工具。
- 保留记录。
测试:
- 测试代码的边界情况。
- 测试前条件和后条件。
- 使用断言。
- 做防御性程序设计。
- 检查错误的返回值。
- 以递增方式做测试。
- 首先测试最简单的部分。
- 弄清所期望的输出。
- 检验那些应当保持的特征。
- 比较相互独立的实现。
- 度量测试的覆盖面。
- 自动回归测试。
- 建立自包容测试。
性能:
- 自动计时测量。
- 使用轮廓程序。
- 集中主意热点。
- 画一个图。
- 使用更好的算法或数据结构。
- 让编译程序做优化。
- 调整代码。
- 不要优化无关紧要的东西。
- 收集公共表达式。
- 用低价操作代替高代价操作。
- 铺开或删除代码。
- 缓存频繁使用的值。
- 写专用的存储分配程序。
- 对输入输出做缓冲。
- 特殊情况特殊处理。
- 预先算出某些值。
- 使用近似值。
- 在某个低级语言里重写代码。
- 使用尽可能小的数据类型以节约存储。
- 不存储容易重算的东西。
可移植性:
- 盯紧标准。
- 在主流中做程序设计。
- 警惕语言的麻烦特性。
- 用多个编译系统试验。
- 使用标准库。
- 只使用到处都能用的特征。
- 避免条件编译。
- 把系统依赖性局限到独立文件里。
- 把系统依赖性隐藏在界面后面。
- 用正文做数据交换。
- 数据交换时用固定的字节序。
- 如果改变规范就应该改变名字。
- 维护现存程序与数据的相容性。
- 不要假定与数据的相容性。
- 不要假定是ASCII。
- 不要假定是英语。
至于出处,已经记不得。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
C51与汇编混合编程详解 C51和汇编混合编程(1)-C语言中嵌入汇编 1.在 C文件中要嵌入汇编代码片以如下方式加入汇编代码: #pragma ASM ; Assembler Code Here #pragma ENDASM 2.在 Project窗口中包含汇编代码的 C文件...
1.掌握ARM嵌入式C语言编程基本方法。 2. 掌握嵌入式汇编(Inline Assembly)编程规则和方法。 3.掌握汇编语言程序和C语言程序之间相互调用规则和编程方法。
CSAPP书中补充知识:C语言内嵌汇编编程.文档简单介绍了内嵌汇编的规则,并且给出几个练习并附有参考答案.内容简洁,非常适合快速学习
C语言与汇编语言混合编程声明规则.pdf
C语言与汇编语言混合编程浅析,阐述了C程序调用汇编子程序中参数传递和寄存器的使用规则,分析了二者连接过程中的问题,并给出了应用示 俐。
ARM汇编语言和C语言混合编程 ATPCS规则体现了一种模块化设计的思想,其基本内容是C模块(函数)和汇编模块(函数)相互调用的一套规则(C51中也有类似的一套规则)。我感觉比在线汇编功能强大(不用有很多忌讳),条理更...
主要功能:出现菜单主界面,按回车键开始打字游戏,按其它键退出。其中: 游戏界面:第一行由26个字母乱序组成,其中任一字母随机落下,在键盘上敲入该字母,如果输入正确,字母消失;如果错误,允许继续按键,直至...
《深入理解程序设计:使用Linux汇编语言》介绍了Linux平台下的汇编语言编程,教你从计算机的角度看问题,从而了解汇编语言及计算机的工作方式,为成就自己的优秀程序员之梦夯实基础。 很多人都认为汇编语言晦涩难懂...
软件设计更多地是一种工程,而不是一种个人艺术。...率、函数(模块)接口、可测试性四个方面阐述了软件编程规范,规范分成规则和建议两 种,其中规则部分为强制执行项目,而建议部分则不作强制,可根据习惯取舍。
成绩分类规则: A:全班排名前25%,且成绩在85分及以上。 B:非A成绩,全班排名前50%,且成绩在75分及以上。 C:非A、B成绩。 2、要求 使用LC-3汇编语言,编写程序实现以上功能。 输入 16名学生成绩,存储于x3200至...
在C/C++与汇编语言混合编程的情况下,一般我们都会选择C/C++来实现所期待的大部分功能,对于少数和硬件关联度高(例如操作某些CPU寄存器)以及对运算的实时性要求高(例如高速、多点的FFT)的功能才使用汇编来实现,这就...
1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 ...
1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 ...
汇编语言是汇编指令集、伪指令集和使用它们规则的统称。伪指令是在程序设计时所需要的一些辅助性说明指令,它不对应具体的机器指令,有关内容在以后的各章节中会有详细叙述,在此不展开介绍。 用汇编语言编写的程序...
MSP430单片机C语言和汇编语言混合编程 为了发挥C语言和汇编语言的各自优点,二者需要...本文首先介绍了MSP430单片机的C语言函数的参数传递规则,然后对C语言和汇编语言的混合编程进行了详细描述,最后给出了应用实例。
1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 ...
1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 ...
1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 ...
第四章 汇编语言程序... 不同的汇编程序有不同的汇编语言编程规定。目前支持Intel8086/8088系列微机,常用的汇编程序有ASM、MASM、TASM、OPTASM等 。 本章主要介绍汇编语言程序设计中的一些基本书写格式与语法规则。
1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 ...