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

编程规则汇编

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

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

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

测试:

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

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

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

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

相关推荐

    汇编指令使用规则 汇编指令使用规则

    汇编指令的使用规则是编程者必须理解和掌握的关键知识,因为它们直接影响到程序的执行效率和正确性。以下是对汇编指令使用规则的详细说明: 1. **指令格式**:汇编指令通常由操作码(Opcode)和操作数(Operand)...

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

    本实验主要介绍了 ARM 嵌入式 C 语言编程的基本方法、嵌入式汇编(Inline Assembly)编程规则和方法,以及汇编语言程序和 C 语言程序之间的相互调用规则和编程方法。 一、ARM 嵌入式 C 语言编程基本方法 ARM ...

    C语言内嵌汇编编程

    4. 内嵌汇编与编译器:内嵌汇编编程在不同的编译器上可能会有不同的实现方式和语法规则。因此,编写内嵌汇编代码时,需要查阅和理解所使用的编译器的具体文档和规范,确保代码的可移植性和正确性。 5. 高级语言和...

    单片机汇编语言编程规范

    "单片机汇编语言编程规范" 单片机汇编语言编程规范是一个软件设计工程的重要组成部分,旨在提高软件质量、降低编码阶段的错误率、提高代码的可读性和可维护性。该规范从代码的可维护性、代码逻辑与效率、函数(模块...

    汇编语言编程艺术 汇编教程

    【汇编语言编程艺术】是一本专注于汇编语言学习的教程,旨在帮助读者快速掌握汇编语言的基础知识。汇编语言是一种低级编程语言,直接对应计算机硬件的指令集,通常用于编写高效的系统软件和底层应用。以下是汇编语言...

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

    标题中的知识点为"C语言与汇编语言混合编程声明规则",这意味着我们将会探讨如何在编程过程中将C语言与汇编语言进行混合使用,并着重分析涉及混合编程时的变量和函数声明规则。 在描述中指出混合编程时变量和函数的...

    汇编及C++混合编程开发Symbian程序

    在混合编程时,汇编部分可能需要直接操作内存,这时必须遵守Symbian的内存规则,如使用New和Delete进行动态内存分配。 6. **调试技巧**:由于涉及到两种语言,调试混合编程的Symbian程序可能更具挑战性。开发者可能...

    KEIL编程_C语言嵌入汇编

    在C和汇编的混合编程中,需要注意变量和函数的命名规则。C语言编译器通常会将变量名或函数名转换为带有前缀(通常是下划线)的形式,并将它们放在特定的存储区,如.bss区。这要求我们在汇编代码中使用变量和函数时,...

    汇编程序设计与C_C++混合编程

    ### 汇编程序设计与C/C++混合编程 #### 知识点概览 - **混合编程概念**:在程序开发中,特别是在系统级编程领域,常常会遇到需要使用不同编程语言的情况,以结合各自的优势。混合编程指的是在同一程序中使用两种或...

    《汇编语言编程艺术》汇编经典著作

    ### 汇编语言编程艺术 #### 书籍概述 《汇编语言编程艺术》是一部深入探讨汇编语言编程技术的经典著作,由Randall Hyde撰写。本书不仅为读者提供了丰富的汇编语言基础知识,还深入讲解了高级汇编语言编程技巧及...

    win32汇编 编程环境 nmake EmEditor

    在汇编语言编程中,nmake用于自动化编译和链接过程,它可以读取Makefile文件,根据其中的规则执行编译、链接等任务,极大地提高了开发效率。Makefile包含了关于如何构建项目的规则,例如哪些源文件需要被编译,以及...

    MSP430单片机C语言和汇编语言混合编程

    在进行C语言与汇编语言的混合编程时,了解C语言函数的参数传递规则是非常重要的。通常情况下,MSP430的C编译器会按照以下规则传递参数: - 对于较小的数据类型(如char, short等),参数会被放在寄存器中传递。 - ...

    ARM汇编语言与嵌入式C语言混合编程

    ### ARM汇编语言与嵌入式C语言混合编程 #### 概述 在嵌入式系统开发中,经常需要结合使用ARM汇编语言与嵌入式C语言进行混合编程。这是因为尽管C语言提供了较好的可读性和灵活性,但在某些特定场景下(例如精确控制...

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

    首先,我们详细介绍了C程序调用汇编子程序时参数传递和寄存器使用的规则。其次,文章分析了这两种语言在连接过程中可能遇到的问题,并给出了一些实际的应用案例。 #### 一、调用与被调用的说明 在混合编程中,...

    MSP430单片机C语言和汇编语言混合编程.pdf

    在进行MSP430单片机开发时,开发者可能会采用C语言和汇编语言的混合编程方法,这样既可以利用C语言的开发效率,又可以优化关键代码段的性能。 混合编程的一个重要方面是了解如何在C语言和汇编语言之间调用函数和...

    ARM 汇编语言和C/C++语言混合编程的方法

    本文将深入探讨 ARM 汇编语言与 C/C++ 语言混合编程的两种主要方法:在线汇编(In-Line Assembly)和 ATPCS 规则。 #### 在线汇编(In-Line Assembly) 在线汇编是在 C/C++ 代码中嵌入汇编代码片段的一种技术。...

    汇编工具ASM汇编工具ASM汇编工具ASM汇编工具ASM

    1. **语法解析**:汇编器首先读取源代码文件,检查语法结构是否符合汇编语言的规则,确保指令、操作码、寄存器和标号等元素正确无误。 2. **符号表管理**:汇编器创建并维护一个符号表,记录程序中的标号和变量,...

    在keil上实现C与汇编混合编程

    ### 在Keil上实现C与汇编混合编程 #### 概述 在嵌入式系统开发领域,特别是在基于51单片机的应用中,为了提高程序执行效率并充分利用硬件资源,混合编程技术变得尤为重要。混合编程指的是在同一项目中同时使用...

    CodeWarrior C 、C++、汇编语言 编程指南 参考手册

    ### CodeWarrior C、C++、汇编语言编程指南参考手册 #### 深入浅出CodeWarrior环境编程 **CodeWarrior**是一款由Metrowerks公司开发的集成开发环境(IDE),广泛用于嵌入式系统开发,特别是在飞思卡尔(现为NXP ...

Global site tag (gtag.js) - Google Analytics