`
harry
  • 浏览: 180101 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

编程规则汇编

阅读更多
风格:
  • 全局变量用具有描述意义的名字,局部变量用短名字。
  • 保持一致性。
  • 函数采用动作性的名字。
  • 要准确。
  • 以缩行形式显士程序的结构。
  • 使用表达式的自然形式。
  • 利用括号排除歧义。
  • 分解复杂的表达式。
  • 要清晰。
  • 当心副作用。
  • 使用一致的缩行和加括号风格。
  • 为了一致性,使用习惯用法。
  • 用else-if处理多路选择。(这里是指避免使用if里面套if的用法)
  • 避免使用函数宏。
  • 给宏的体和参数都加上括号。(或者用do{...}while(0);的方式)
  • 给神秘的数起个名字。
  • 把数字定义为常量,不要定义为宏。
  • 使用字符形式的常量,不要用整数。
  • 利用语言去计算对象的大小。
  • 不要大谈明显的东西。
  • 给函数和全局数据加注释。
  • 不要注释不好的代码,应该重写。
  • 不要与代码矛盾。
  • 澄清情况,不要添乱。

界面:
  • 隐藏实现的细节。
  • 选择一小组正交的几本操作。
  • 不要在用户背后搞小动作。
  • 在各处都用同样方式做同样的事。
  • 释放资源与分配资源应该在同一层次进行。
  • 在低层检查错误,在高层处理。
  • 只把异常用在异常的情况。

除错:
  • 寻找熟悉的模式。
  • 检查最近的改动。
  • 不要两次犯同样的错误。
  • 现在排除,而不是以后。
  • 取得堆栈轨迹。
  • 键入前仔细读一读。
  • 把你的代码解释给别人。
  • 把错误弄成可以重现的。
  • 分而治之。
  • 研究错误的计数特性。
  • 显示输出,使搜索局部化。
  • 写自检测代码。
  • 写记录文件。
  • 画一个图。
  • 使用工具。
  • 保留记录。

测试:

  • 测试代码的边界情况。
  • 测试前条件和后条件。
  • 使用断言。
  • 做防御性程序设计。
  • 检查错误的返回值。
  • 以递增方式做测试。
  • 首先测试最简单的部分。
  • 弄清所期望的输出。
  • 检验那些应当保持的特征。
  • 比较相互独立的实现。
  • 度量测试的覆盖面。
  • 自动回归测试。
  • 建立自包容测试。

性能:
  • 自动计时测量。
  • 使用轮廓程序。
  • 集中主意热点。
  • 画一个图。
  • 使用更好的算法或数据结构。
  • 让编译程序做优化。
  • 调整代码。
  • 不要优化无关紧要的东西。
  • 收集公共表达式。
  • 用低价操作代替高代价操作。
  • 铺开或删除代码。
  • 缓存频繁使用的值。
  • 写专用的存储分配程序。
  • 对输入输出做缓冲。
  • 特殊情况特殊处理。
  • 预先算出某些值。
  • 使用近似值。
  • 在某个低级语言里重写代码。
  • 使用尽可能小的数据类型以节约存储。
  • 不存储容易重算的东西。

可移植性:
  • 盯紧标准。
  • 在主流中做程序设计。
  • 警惕语言的麻烦特性。
  • 用多个编译系统试验。
  • 使用标准库。
  • 只使用到处都能用的特征。
  • 避免条件编译。
  • 把系统依赖性局限到独立文件里。
  • 把系统依赖性隐藏在界面后面。
  • 用正文做数据交换。
  • 数据交换时用固定的字节序。
  • 如果改变规范就应该改变名字。
  • 维护现存程序与数据的相容性。
  • 不要假定与数据的相容性。
  • 不要假定是ASCII。
  • 不要假定是英语。

至于出处,已经记不得。
分享到:
评论

相关推荐

    C51与汇编混合编程

    C51与汇编混合编程详解 C51和汇编混合编程(1)-C语言中嵌入汇编 1.在 C文件中要嵌入汇编代码片以如下方式加入汇编代码: #pragma ASM ; Assembler Code Here #pragma ENDASM 2.在 Project窗口中包含汇编代码的 C文件...

    C语言与汇编语言混合编程

    1.掌握ARM嵌入式C语言编程基本方法。 2. 掌握嵌入式汇编(Inline Assembly)编程规则和方法。 3.掌握汇编语言程序和C语言程序之间相互调用规则和编程方法。

    C语言内嵌汇编编程

    CSAPP书中补充知识:C语言内嵌汇编编程.文档简单介绍了内嵌汇编的规则,并且给出几个练习并附有参考答案.内容简洁,非常适合快速学习

    C语言与汇编语言混合编程声明规则.pdf

    C语言与汇编语言混合编程声明规则.pdf

    C语言与汇编语言混合编程浅析

    C语言与汇编语言混合编程浅析,阐述了C程序调用汇编子程序中参数传递和寄存器的使用规则,分析了二者连接过程中的问题,并给出了应用示 俐。

    汇编C语言混合编程经验总结

    ARM汇编语言和C语言混合编程 ATPCS规则体现了一种模块化设计的思想,其基本内容是C模块(函数)和汇编模块(函数)相互调用的一套规则(C51中也有类似的一套规则)。我感觉比在线汇编功能强大(不用有很多忌讳),条理更...

    打字游戏程序-汇编学习

    主要功能:出现菜单主界面,按回车键开始打字游戏,按其它键退出。其中: 游戏界面:第一行由26个字母乱序组成,其中任一字母随机落下,在键盘上敲入该字母,如果输入正确,字母消失;如果错误,允许继续按键,直至...

    深入理解程序设计使用Linux汇编语言

    《深入理解程序设计:使用Linux汇编语言》介绍了Linux平台下的汇编语言编程,教你从计算机的角度看问题,从而了解汇编语言及计算机的工作方式,为成就自己的优秀程序员之梦夯实基础。 很多人都认为汇编语言晦涩难懂...

    单片机汇编语言编程规范

    软件设计更多地是一种工程,而不是一种个人艺术。...率、函数(模块)接口、可测试性四个方面阐述了软件编程规范,规范分成规则和建议两 种,其中规则部分为强制执行项目,而建议部分则不作强制,可根据习惯取舍。

    计算机系统1 汇编语言编程 成绩排序 代码

    成绩分类规则: A:全班排名前25%,且成绩在85分及以上。 B:非A成绩,全班排名前50%,且成绩在75分及以上。 C:非A、B成绩。 2、要求 使用LC-3汇编语言,编写程序实现以上功能。 输入 16名学生成绩,存储于x3200至...

    DSP编程技巧之--从C/C++代码调用汇编代码中的函数与变量

    在C/C++与汇编语言混合编程的情况下,一般我们都会选择C/C++来实现所期待的大部分功能,对于少数和硬件关联度高(例如操作某些CPU寄存器)以及对运算的实时性要求高(例如高速、多点的FFT)的功能才使用汇编来实现,这就...

    汇编语言.chm 学习汇编语言入门

     1 操作符的命名规则  2 数据传送指令  3 数学运算指令  4 比较运算指令  5 超越函数运算指令  6 常数操作指令  7 协处理器控制指令  11.4 协处理器的编程举例  11.5 习题 第12章 汇编语言和C语言  ...

    汇编语言教程(AoGo汇编网站)

     1 操作符的命名规则  2 数据传送指令  3 数学运算指令  4 比较运算指令  5 超越函数运算指令  6 常数操作指令  7 协处理器控制指令  11.4 协处理器的编程举例  11.5 习题 第12章 汇编语言和C语言  ...

    汇编语言教程电子书 chm

    汇编语言是汇编指令集、伪指令集和使用它们规则的统称。伪指令是在程序设计时所需要的一些辅助性说明指令,它不对应具体的机器指令,有关内容在以后的各章节中会有详细叙述,在此不展开介绍。 用汇编语言编写的程序...

    MSP430单片机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语言  ...

    汇编语言教程chm电子书

     1 操作符的命名规则  2 数据传送指令  3 数学运算指令  4 比较运算指令  5 超越函数运算指令  6 常数操作指令  7 协处理器控制指令  11.4 协处理器的编程举例  11.5 习题 第12章 汇编语言和C语言  ...

    汇编简明教程(PPT)

    第四章 汇编语言程序... 不同的汇编程序有不同的汇编语言编程规定。目前支持Intel8086/8088系列微机,常用的汇编程序有ASM、MASM、TASM、OPTASM等 。 本章主要介绍汇编语言程序设计中的一些基本书写格式与语法规则。

    汇编语言(在一个汇编网站上点击率在前三的电子书)

     1 操作符的命名规则  2 数据传送指令  3 数学运算指令  4 比较运算指令  5 超越函数运算指令  6 常数操作指令  7 协处理器控制指令  11.4 协处理器的编程举例  11.5 习题 第12章 汇编语言和C语言  ...

Global site tag (gtag.js) - Google Analytics