关于C语言编程书写规范的规则和建议

合集下载

C语言代码规范

C语言代码规范

C语言代码规范C语言是一种广泛应用于编程领域的高级编程语言,具有跨平台、效率高、灵活性强等优点。

编写规范合乎标准的C语言代码有助于提高代码的可读性、可维护性和可移植性。

本文将介绍一些常用的C语言代码规范,以帮助开发者编写高质量的C语言程序。

一、代码格式1. 缩进:使用四个空格进行缩进,不要使用制表符。

这样可以保证在不同编辑器或显示器上显示的代码缩进一致。

2. 行长度限制:每行代码应尽量保持在80个字符以内,超过限制的代码可以进行适当换行。

换行时要注意保持代码的清晰可读性,一般可以采用缩进来表达代码的层次关系。

3. 大括号:大括号的位置应该和相关语句对齐,且起始的大括号应该放在语句所在行的末尾,而不是单独另起一行。

4. 空格和空行:在适当的情况下使用空格和空行可以提高代码的可读性。

例如,在运算符和操作数之间使用空格,不同的代码块之间使用空行进行分割等。

二、命名规范1. 变量名:使用有意义的变量名,尽量避免使用单个字符或简单的缩写表示变量。

变量名应该忠实地反映其所代表的含义。

2. 函数名:函数名应使用动词和名词的组合,具体描述函数的功能。

函数名应该清晰地表达其所完成的操作或所返回的结果。

3. 常量名:常量名使用全大写字母,并使用下划线进行分隔。

例如,MAX_LENGTH。

4. 类型名:类型名使用首字母大写的驼峰命名法,例如,StudentInfo。

5. 宏定义名:宏定义名使用全大写字母,并使用下划线进行分隔。

例如,PI。

三、注释规范1. 单行注释:使用"//"进行单行注释,注释符号后面应该留一个空格。

注释应该清晰明了,解释代码的用途或特殊处理等。

2. 多行注释:使用"/*"和"*/"进行多行注释。

多行注释通常用于解释一整块代码的功能或原理等。

3. 函数注释:在每个函数定义的上方加上函数注释,注释中应该包含函数的功能描述、输入参数的说明、返回值的含义以及可能抛出的异常等信息。

c语言编程的书写规则

c语言编程的书写规则

c语言编程的书写规则C语言编程的书写规则主要遵循以下规范:1. 缩进和空格:缩进和空格的使用可以使代码更易读。

通常,运算符两侧、逗号之后、控制语句(如if、for、while等)前后应添加空格。

在函数和括号的开头和结尾,通常应有空行。

2. 命名规则:变量和函数名应简洁且有意义。

通常,变量名和函数名以小写字母开头,后续单词的首字母大写,如 `myVariable`。

3. 注释:注释应简洁明了,解释代码的作用或目的,而不是解释代码是如何工作的。

注释应放在代码的上方或旁边,与代码保持一定距离。

4. 函数:函数应该尽可能短小,只做一件事情。

函数应具有描述性的名称,参数列表应清晰,并应包含返回类型。

5. 大括号:在C语言中,大括号 `{}` 用于定义代码块。

每一个独立的语句块都应该使用大括号。

6. 控制结构:控制结构(如if-else、for、while等)应该清晰明了,控制语句应只包含必要的逻辑。

7. 类型定义:类型定义应清晰明了,如果有必要,可以使用typedef来定义新的类型名称。

8. 预处理器指令:预处理器指令(如include、define等)应放在源文件的顶部。

9. 避免魔法数字和字符串:魔法数字和字符串(硬编码的值)会使代码难以理解和维护。

如果需要在代码中使用特定的值,应将其定义为常量或宏。

10. 避免全局变量:全局变量会使代码难以理解和维护,并可能导致意外的副作用。

尽可能使用局部变量。

11. 错误处理:在可能失败的操作后,应检查错误并相应地处理它们。

以上只是一些基本的C语言编程规则,实际编写代码时可能还需要考虑更多因素,如代码的可读性、可维护性、性能等。

C语言编程风格与代码规范建议

C语言编程风格与代码规范建议

C语言编程风格与代码规范建议在软件开发过程中,良好的编程风格和代码规范对于代码的可读性、可维护性和可扩展性起着至关重要的作用。

本文将从命名规范、代码注释、代码布局和错误处理等方面,为大家提供一些关于C语言编程风格与代码规范的建议。

一、命名规范在编写C语言代码时,合理的命名规范能够使代码更加易于理解和维护。

以下是一些常见的命名规范建议:1. 变量和函数名应该具有描述性,能够清楚地表达其功能和用途。

避免使用单个字母或缩写作为变量名,除非其含义明确且广为接受。

2. 变量名采用小写字母,单词之间使用下划线进行分隔,例如:user_name。

3. 函数名采用小写字母,单词之间使用下划线进行分隔,例如:calculate_average。

4. 宏定义使用全大写字母,单词之间使用下划线进行分隔,例如:MAX_VALUE。

5. 类型名使用大写字母开头的驼峰命名法,例如:StudentInfo。

二、代码注释良好的代码注释能够帮助其他开发人员更好地理解代码的逻辑和功能,并且在后续的维护过程中提供了重要的参考。

以下是一些关于代码注释的建议:1. 在每个函数的开头,用注释简要描述函数的功能、输入参数和返回值等信息。

2. 在复杂的算法或逻辑代码块之前,用注释解释代码的思路和实现方法。

3. 对于一些特殊的设计或实现,用注释进行解释,帮助其他开发人员理解背后的考虑和目的。

4. 避免过度注释,注释应该是简洁明了的,不要重复代码本身已经能够表达的内容。

三、代码布局良好的代码布局能够使代码更加易读,从而提高代码的可维护性。

以下是一些关于代码布局的建议:1. 使用适当的缩进,使代码块之间的层次结构清晰可见。

一般情况下,使用4个空格作为一个缩进的标准。

2. 在适当的位置使用空行,将相关的代码块进行分隔,提高代码的可读性。

3. 将相关的变量和函数放在一起,便于查找和理解。

4. 对于较长的表达式或函数调用,可以使用换行符进行分割,使代码更加清晰。

C语言代码规范

C语言代码规范

C语言代码规范作为一种广泛使用的编程语言,C语言拥有着强大的功能和广泛的应用领域。

为了编写出高质量、可读性强的代码,遵循一定的代码规范是非常重要的。

本文将介绍一些常见的C语言代码规范,旨在帮助程序员写出更加规范、易于维护的代码。

一、命名规范在编写C语言代码时,合理的命名规范可以让代码更加易读、易懂,便于他人理解和维护。

1. 变量名和函数名的命名应使用有意义的英文单词或单词组合,并采用驼峰命名法,即首字母小写,后续单词首字母大写。

例如:userName, calculateScore。

2. 宏定义和枚举常量的命名应全大写,并使用下划线分隔单词。

例如:MAX_SIZE, COLOR_GREEN。

3. 结构体和联合的命名应采用驼峰命名法,首字母大写。

例如:StudentInfo, UserInfo。

二、缩进和空格良好的缩进和适当的空格使用可以提高代码的可读性,减少错误的发生。

1. 使用4个空格进行缩进,避免使用制表符。

2. 函数和循环体内的代码块使用花括号{}包围,且左花括号与代码在同一行,右花括号独占一行。

3. 运算符之间、逗号之后应添加空格,如:a = b + c; for(int i = 0; i < n; i++)。

4. 逻辑语句和赋值语句建议每行只书写一个,以增加可读性。

三、注释规范良好的注释具有很大的意义,可以让他人更容易理解代码的功能和思路。

1. 使用注释对代码进行解释和补充说明,以便他人理解代码的功能。

2. 注释应写在需要解释的代码上方,使用//或/* */进行注释。

3. 函数和重要代码块前应添加注释,说明其功能和预期结果。

四、函数规范函数是程序的基本组织单位,采用规范的函数写法有助于提高程序的可维护性。

1. 函数应具有明确的功能和作用,函数名应符合命名规范,能准确反映函数的功能。

2. 函数的参数如果较多,建议分行书写,并使用逗号对齐。

3. 函数应有良好的结构,合理划分代码块,可读性强。

c 编程规范

c 编程规范

c 编程规范C 编程规范是用来规范 C 语言程序代码风格和编写规范的一系列准则。

遵循 C 编程规范可以提高代码的可读性、可维护性,减少错误和 bug 的发生。

以下是一些常见的 C 编程规范建议:1. 代码缩进:缩进应该使用相同数量的空格符或制表符,一般为 4 个空格或一个制表符。

缩进可以使代码结构更清晰,便于阅读。

2. 命名规范:变量、函数和常量的命名应该具有描述性,能够准确反映其用途和含义。

使用驼峰命名法或下划线命名法是常见的命名风格。

注意避免使用与 C 语言关键字相同的名称。

3. 注释规范:代码中应该包含必要的注释,用于解释代码的逻辑、实现细节和算法。

注释应该清晰明了,不要出现拼写错误或过多的冗余信息。

4. 函数长度:函数的长度应该适中,不要过长。

一般来说,一个函数应该只负责一个具体的功能,如果函数过长应该考虑分割成多个子函数。

5. 模块化设计:程序应该使用模块化的设计原则,将功能相似或相关的代码块组织成不同的模块或文件。

这样可以提高代码的可维护性和可重用性。

6. 错误处理:程序应该正确处理各种可能发生的错误和异常情况。

避免简单地使用错误代码或忽略错误,而是采取适当的错误处理措施,例如返回错误码或抛出异常。

7. 变量声明:变量应该在使用前先声明,并且尽量在被使用的代码块的起始处进行声明。

声明时应给予适当的初始值,以避免使用未初始化的变量。

8. 代码复用:避免重复的代码和冗余的逻辑。

可以通过编写可重用的函数、使用循环和条件语句等方式来提高代码的复用性和可读性。

9. 括号的使用:括号的使用是保证代码逻辑准确性的重要方式之一。

建议在 if、for、while、switch 等语句块的使用中,使用括号来明确代码块的范围,以避免出现逻辑错误。

10. 代码格式:代码应该有一致的格式,用以增加可读性。

应避免使用过长的代码行,一般建议每行代码长度不超过 80 个字符。

综上所述,C 编程规范是编写高质量、可维护代码的基本准则。

C语言编程规范与风格

C语言编程规范与风格

C语言编程规范与风格C语言是一种广泛使用的编程语言,它的编程规范与风格对于保证代码的可读性、可维护性和可扩展性至关重要。

本文将介绍一些关键的C语言编程规范与风格,并提供一些实践建议。

1. 代码缩进代码缩进是C语言中非常重要的一个方面,它可以使代码结构清晰,易于阅读。

推荐使用4个空格或者制表符来进行代码缩进。

2. 命名规范为了让代码更易读和理解,命名规范应具有一定的规则性和描述性。

变量、函数和常量的命名应具有一定的规范,比如使用驼峰命名法(camelCase)或者下划线法(underscore_case)。

3. 注释注释是代码中的重要组成部分,可以使代码更易读和理解。

应该在代码中适当地使用注释,解释代码的功能、用途和注意事项。

注释应该清晰、简洁且易于理解。

4. 函数设计函数是C语言中重要的组织单元,应该遵循一定的设计原则来编写函数。

函数应该具有良好的命名,功能单一且高内聚。

函数的参数应该明确且合理,避免过多的参数传递。

函数的返回值应该清晰地说明其含义。

5. 条件语句和循环语句条件语句和循环语句是C语言中常用的流程控制语句,应该遵循一定的格式和风格。

条件语句的括号应该与关键字紧挨着,条件表达式应该适当地加上括号,以增加代码的可读性。

循环语句的条件表达式应该明确且易于理解,循环体应该具有合适的缩进。

6. 数据类型和变量声明在C语言中,数据类型和变量声明是非常重要的。

应该根据需要选择合适的数据类型,尽量避免使用过长或过短的数据类型。

变量声明应该在函数开头或者合适的位置进行,尽量避免使用全局变量。

7. 引入头文件C语言中的头文件对代码的模块化和可维护性非常重要。

在代码中应该适当引入所需要的头文件,避免使用过多的全局引入。

头文件应该具有合适的宏定义和条件编译,以提高代码的可复用性。

8. 错误处理在编程过程中,错误处理是非常重要的一部分。

应该养成检查错误和处理错误的习惯,合理运用条件语句和错误码,以便更好地调试和修复代码。

c语言书写程序时应遵循的规则

c语言书写程序时应遵循的规则

c语言书写程序时应遵循的规则C语言是一种广泛使用的编程语言,它的语法简单、灵活,可以用于开发各种类型的应用程序。

在编写C语言程序时,遵循一些规则可以使程序更加可读、可维护、可靠。

下面是C语言书写程序时应遵循的规则:1. 代码缩进代码缩进是指在编写程序时,按照一定的规则将代码进行排版,使代码更加易读。

一般来说,每一层嵌套的代码都应该缩进4个空格,这样可以清晰地显示代码的层次结构,方便阅读和修改。

2. 变量命名变量命名应该具有一定的意义,能够清晰地表达变量的用途。

变量名应该使用小写字母,单词之间用下划线分隔,例如:student_name。

变量名应该尽量避免使用缩写和数字,以免造成歧义。

3. 注释注释是指在代码中添加一些文字说明,以便于其他人理解代码的作用和实现方法。

注释应该清晰、简洁、准确,不应该包含无用的信息。

注释应该放在代码的上方或者右侧,以便于阅读。

4. 函数定义函数定义应该包含函数名、参数列表和返回值类型。

函数名应该具有一定的意义,能够清晰地表达函数的作用。

参数列表应该包含参数类型和参数名,以便于其他人理解函数的参数。

返回值类型应该与函数的作用相符合。

5. 头文件头文件是指包含函数声明和宏定义的文件,可以在多个源文件中共享。

头文件应该包含必要的函数声明和宏定义,不应该包含过多的信息。

头文件应该使用宏定义来避免重复包含,以提高编译效率。

6. 错误处理在编写程序时,应该考虑到可能出现的错误情况,并进行相应的处理。

错误处理应该包括错误码、错误信息和错误处理方法。

错误处理应该尽量避免使用异常,以免影响程序的性能和可靠性。

7. 代码复用代码复用是指在编写程序时,尽可能地重用已有的代码,以提高开发效率和代码质量。

代码复用应该采用模块化的方式,将代码分解成独立的模块,每个模块都应该具有清晰的接口和功能。

总之,C语言书写程序时应遵循的规则包括代码缩进、变量命名、注释、函数定义、头文件、错误处理和代码复用。

c语言编程规范

c语言编程规范

c语言编程规范C语言是一种广泛使用的编程语言,为了使代码可读性强,易于维护,编写出高质量的C语言代码,需要遵守一些编程规范。

1. 命名规范:- 使用有意义的变量和函数名称,避免使用缩写或不明确的名称。

- 变量和函数名称使用小驼峰式命名,以单词首字母小写,后续的单词首字母大写。

- 宏常量使用全部大写字母,并用下划线分隔单词。

2. 注释规范:- 使用注释来解释代码的逻辑、功能或者算法,提高代码的可读性。

- 在函数开头可以用注释来描述函数的输入、输出及功能。

- 注释应该与代码对齐,避免过长或过短,同时避免注释代码。

3. 缩进和空格规范:- 使用合适的缩进,增加代码的可读性。

- 使用4个空格作为一次缩进,而不是使用Tab字符。

- 在运算符和逗号后加一个空格,使代码更易读。

- 在大括号前加一个空格,与控制流语句对齐。

4. 代码结构规范:- 将相关功能的代码块放在一起,便于阅读和维护。

- 逻辑层次清晰,函数和类方法要尽量短小,每个函数的功能单一、复用性强。

- 相关联的变量放在一起声明,并按照类型顺序排序。

- 避免过长的行,推荐每行代码不超过80个字符。

5. 错误处理规范:- 在代码中检查错误并进行适当的处理,避免代码崩溃或者产生不可预料的结果。

- 使用错误码或者异常来处理错误,避免使用魔法数字。

- 使用合适的方式记录错误信息,方便调试和定位问题。

6. 动态内存管理规范:- 在使用动态内存分配时,需要及时释放分配的资源,避免内存泄漏。

- 需要注意避免指针悬挂和使用已经释放的内存。

7. 注重效率和安全性:- 在编写代码时注重代码的性能和效率,避免使用低效的算法。

- 在处理用户输入或者系统API调用时,需要对输入进行有效性检查,避免安全漏洞。

8. 一致性和规范性:- 保持代码的一致性和规范性,遵循编程规范,方便团队协作和代码维护。

- 遵循公司或项目的编码规范,保持团队的代码风格一致。

以上是C语言编程规范的一些基本要点,通过遵守这些规范,可以提高代码的可读性、可维护性和代码质量,使得代码更加规范和高效。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于C语言编程书写规范的规则和建议一、头文件♦头文件由三部分内容组成:1、头文件开头处的版权和版本声明。

2、预处理块。

3、函数和类结构声明等。

♦【规则】为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。

♦【规则】用#include <filename.h> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索).♦【规则】用#include “filename.h”格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)♦【建议】头文件中只存放“声明”而不存放“定义”♦【建议】不提倡使用全局变量,尽量不要在头文件中出现象extern int value 这类声明。

二、程序的版式空行♦【规则】在每个类声明之后、每个函数定义结束之后都要加空行。

♦【规则】在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。

代码行♦【规则】一行代码只做一件事情,如只定义一个变量,或只写一条语句。

这样的代码容易阅读,并且方便于写注释。

♦【规则】if、for、while、do等语句自占一行,执行语句不得紧跟其后。

不论执行语句有多少都要加{}。

这样可以防止书写失误。

♦【建议】尽可能在定义变量的同时初始化该变量(就近原则)代码行内的空格♦【规则】关键字之后要留空格。

象const、virtual、inline、case 等关键字之后至少要留一个空格,否则无法辨析关键字。

象if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。

♦【规则】函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。

♦【规则】‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。

♦【规则】‘,’之后要留空格,如Function(x, y, z)。

如果‘;’不是一行的结束符号,其后要留空格。

♦【规则】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格。

♦【规则】一元操作符如“!”、“~”、“++”、“--”、“&”(地址运算符)等前后不加空格。

♦【规则】象“[]”、“.”、“->”这类操作符前后不加空格。

♦【建议】对于表达式比较长的for语句和if语句,为了紧凑可以适当地去掉一些空格,如for (i=0; i<10; i++)和if ((a<=b) && (c<=d)) 对齐♦【规则】程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。

♦【规则】{ }之内的代码块在‘{’右边数格处左对齐。

长行拆分♦【规则】代码行最大长度宜控制在70至80个字符以内。

代码行不要过长,否则眼睛看不过来,也不便于打印。

♦【规则】长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。

拆分出的新行要进行适当的缩进,使排版整齐,语句可读。

注释♦注释符为“/*…*/”。

C++语言中,程序块的注释常采用“/*…*/”,行注释一般采用“//…”。

注释通常用于:版本、版权声明;函数接口说明;重要的代码行或段落提示。

♦【规则】注释是对代码的“提示”,而不是文档。

程序中的注释不可喧宾夺主,注释太多了会让人眼花缭乱。

注释的花样要少。

♦【规则】如果代码本来就是清楚的,则不必加注释。

否则多此一举,令人厌烦。

例如i++; // i 加1,多余的注释♦【规则】边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。

不再有用的注释要删除。

♦【规则】注释应当准确、易懂,防止注释有二义性。

错误的注释不但无益反而有害。

♦【规则】尽量避免在注释中使用缩写,特别是不常用缩写。

♦【规则】注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。

♦【规则】当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。

三、命名规则共性规则♦【规则】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。

♦标识符最好采用英文单词或其组合,便于记忆和阅读。

切忌使用汉语拼音来命名。

程序中的英文单词一般不会太复杂,用词应当准确。

例如不要把CurrentValue写成NowValue。

♦【规则】标识符的长度应当符合“min-length && max-information”原则。

♦【规则】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。

例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。

而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。

别把这两类风格混在一起用。

♦【规则】程序中不要出现仅靠大小写区分的相似的标识符。

♦【规则】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解。

♦【规则】变量的名字应当使用“名词”或者“形容词+名词”。

♦【规则】全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。

类的成员函数应当只使用“动词”,被省略掉的名词就是对象本身。

♦【规则】用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。

♦【建议】尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。

这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。

简单的Windows应用程序命名规则♦【规则】类名和函数名用大写字母开头的单词组合而成。

♦【规则】变量和参数用小写字母开头的单词组合而成。

♦【规则】常量全用大写的字母,用下划线分割单词。

♦【规则】静态变量加前缀s_(表示static)。

♦【规则】如果不得已需要全局变量,则使全局变量加前缀g_(表示global)。

♦【规则】类的数据成员加前缀m_(表示member),这样可以避免数据成员与成员函数的参数同名。

♦【规则】为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。

例如三维图形标准OpenGL的所有库函数均以gl开头,所有常量(或宏定义)均以GL开头。

表达式和基本语句♦规则】如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级。

复合表达式♦【规则】不要编写太复杂的复合表达式。

♦【规则】不要有多用途的复合表达式。

♦【规则】不要把程序中的复合表达式与“真正的数学表达式”混淆。

if 语句♦布尔变量与零值比较【规则】不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。

♦整型变量与零值比较【规则】应当将整型变量用“==”或“!=”直接与0比较。

♦ 4.3.3 浮点变量与零值比较【规则】不可将浮点变量用“==”或“!=”与任何数字比较。

♦指针变量与零值比较【规则】应当将指针变量用“==”或“!=”与NULL比较。

♦有时候我们可能会看到if (NULL == p) 这样古怪的格式。

不是程序写错了,是程序员为了防止将if (p == NULL) 误写成if (p = NULL),而有意把p和NULL颠倒。

编译器认为if (p = NULL) 是合法的,但是会指出if (NULL = p)是错误的,因为NULL不能被赋值。

循环语句的效率♦【建议】在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。

♦【建议】如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。

for 语句的循环控制变量♦【规则】不可在for 循环体内修改循环变量,防止for 循环失去控制。

♦【建议】建议for语句的循环控制变量的取值采用“半开半闭区间”写法。

四、函数设计参数的规则♦【规则】参数的书写要完整,不要贪图省事只写参数的类型而省略参数名字。

如果函数没有参数,则用void填充。

♦【规则】参数命名要恰当,顺序要合理。

♦【规则】如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。

♦【规则】如果输入参数以值传递的方式传递对象,则宜改用“const &”方式来传递,这样可以省去临时对象的构造和析构过程,从而提高效率。

♦【建议】避免函数有太多的参数,参数个数尽量控制在5个以内。

如果参数太多,在使用时容易将参数类型或顺序搞错。

♦【建议】尽量不要使用类型和数目不确定的参数。

返回值的规则♦【规则】不要省略返回值的类型。

♦【规则】函数名字与返回值类型在语义上不可冲突。

♦【规则】不要将正常值和错误标志混在一起返回。

正常值用输出参数获得,而错误标志用return语句返回。

♦【建议】有时候函数原本不需要返回值,但为了增加灵活性如支持链式表达,可以附加返回值。

♦【建议】如果函数的返回值是一个对象,有些场合用“引用传递”替换“值传递”可以提高效率。

而有些场合只能用“值传递”而不能用“引用传递”,否则会出错。

函数内部实现的规则♦【规则】在函数体的“入口处”,对参数的有效性进行检查。

♦【规则】在函数体的“出口处”,对return语句的正确性和效率进行检查。

其它建议♦【建议】函数的功能要单一,不要设计多用途的函数。

♦【建议】函数体的规模要小,尽量控制在50行代码之内。

♦【建议】尽量避免函数带有“记忆”功能。

相同的输入应当产生相同的输出。

建议尽量少用static局部变量,除非必需。

♦【建议】不仅要检查输入参数的有效性,还要检查通过其它途径进入函数体内的变量的有效性,例如全局变量、文件句柄等。

♦【建议】用于出错处理的返回值一定要清楚,让使用者不容易忽视或误解错误情况。

五、内存管理内存分配方式♦内存分配方式有三种:从静态存储区域分配。

内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。

例如全局变量,static变量。

在栈上创建。

在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。

栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

从堆上分配,亦称动态内存分配。

程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete 释放内存。

动态内存的生存期由我们决定,使用非常灵活,但问题也最多。

常见的内存错误及其对策♦内存分配未成功,却使用了它。

常用解决办法是,在使用内存之前检查指针是否为NULL♦内存分配虽然成功,但是尚未初始化就引用它。

两个起因:一是没有初始化的观念;二是误以为内存的缺省初值全为零。

相关文档
最新文档