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. 输入验证在C语言中,输入验证是确保代码安全性的关键步骤之一。
开发人员应该始终验证用户输入,以避免潜在的安全漏洞。
以下是一些常见的输入验证措施:1.1 长度验证:验证用户输入的长度是否符合预期,防止缓冲区溢出的风险。
1.2 类型验证:确保用户输入的数据类型与预期类型相匹配,防止类型转换错误。
1.3 格式验证:针对特定的输入数据格式进行验证,例如邮箱、电话号码等。
2. 内存安全在C语言中,内存安全是一个常见的安全隐患。
通过以下措施,可以减少内存安全问题的发生:2.1 使用安全的库函数:C语言提供了一系列安全的库函数,如strcpy_s和strcat_s等,用于替代不安全的函数,如strcpy和strcat,以减少缓冲区溢出的风险。
2.2 动态内存分配与释放:在使用动态内存分配函数(如malloc和free)时,务必注意正确释放内存,防止内存泄漏。
3. 错误处理与日志记录良好的错误处理和日志记录机制对于代码的安全性至关重要。
以下是一些建议:3.1 错误码检查:在调用可能返回错误码的函数后,应该始终检查其返回值,以及时处理异常情况。
3.2 异常处理:使用try-catch块或其他异常处理机制来捕获和处理可能发生的异常,以避免程序崩溃或信息泄漏。
3.3 日志记录:记录错误、警告和其他重要事件,以便及时排查问题并提供追踪。
4. 密码存储与加密在处理用户密码等敏感信息时,开发人员应特别注意其存储和传输的安全性。
以下是一些建议:4.1 密码加密:使用安全的加密算法对敏感信息进行加密,如SHA-256或AES。
4.2 密码哈希:对密码进行哈希处理,并采用适当的哈希算法,如bcrypt或PBKDF2,以防止密码泄露。
c语言代码规范

c语言代码规范C语言是一种通用的编程语言,广泛应用于嵌入式系统、操作系统、驱动程序以及各种应用程序的开发中。
为了提高代码的可读性、可维护性和可移植性,制定一套严格的代码规范是非常必要的。
1. 缩进与空格:- 使用4个空格进行缩进,不要使用Tab键。
- 在运算符两侧以及逗号后加上一个空格。
2. 命名规范:- 变量、函数和类型的命名采用小驼峰命名法,例如myVariable。
- 全局变量以g_开头,静态变量以s_开头。
- 宏定义全部大写,并用下划线分隔单词。
3. 函数定义:- 函数名应该能够描述函数的功能。
- 函数名应该以动词开头,使用小驼峰命名法。
- 函数的参数列表应该明确指明参数的类型和名称。
4. 注释:- 在每个函数之前添加简要的注释,说明函数的功能、参数和返回值。
- 在复杂的代码块中添加必要的注释,解释代码的逻辑和目的。
5. 头文件:- 头文件应该包含必要的宏定义、类型定义和函数声明,不要包含具体的函数实现。
- 头文件应该有相应的宏定义来防止多次包含。
6. 文件结构:- 文件应该按照功能模块进行组织,每个功能模块放在一个独立的文件中。
- 文件中的代码应该按照逻辑顺序进行排列,函数之间使用空行进行分隔。
7. 魔法数值:- 不要直接在代码中出现魔法数值,应该使用常量或者宏来表示。
- 大多数情况下,常量应该在文件的头部定义,并加上相应的注释。
8. 错误处理:- 对于可能出现错误的函数调用,应该检查返回值并进行相应的错误处理。
- 错误处理可以是返回特定的错误码或者抛出异常,但应该保持一致。
9. 括号和空行:- 括号应该与控制语句在同一行,并在括号内留出空格。
- 在函数和控制语句之间应该使用适当的空行进行分隔,提高可读性。
10. 可移植性:- 不要使用与平台相关的特性或者语法。
- 使用标准的数据类型和函数接口,避免使用非标准扩展。
- 避免使用与编译器相关的优化选项。
以上是一些常用的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语言编程规范与代码Review

C语言编程规范与代码Review C语言是一门广泛使用的编程语言,为了保证程序的可读性、可维护性和可移植性,编程人员需要遵守一定的编程规范。
本文将介绍一些常见的C语言编程规范,并讨论代码Review的重要性和方法。
一、命名规范在C语言编程中,合适的命名规范能够使程序更易读懂。
以下是一些常见的命名规范建议:1. 变量命名应具有描述性,能够清晰表达其用途;2. 使用有意义的函数名,能够准确表达函数的功能;3. 使用驼峰命名法或下划线命名法,保持命名的一致性;4. 避免使用单字符作为变量名或函数名,除非其在特定情况下具有明确含义。
二、缩进与对齐缩进和对齐是保持代码结构清晰的重要手段。
在C语言编程中,以下规则需要注意:1. 使用适当的缩进来区分不同层次的代码块;2. 使用合适的空格或制表符对齐代码,使其更易读;3. 在函数定义和条件语句等代码块中,使用花括号将其包裹起来,保持结构的清晰性。
三、注释规范良好的注释能够提供代码的解释和说明,使他人更容易理解你的代码。
以下是一些注释规范的建议:1. 在关键代码处添加注释,解释其功能和作用;2. 注释应具有简洁明了的语言,避免使用复杂的技术术语;3. 避免无意义的注释,注释应与代码相辅相成;4. 在函数和文件的开头,提供一份概览性的注释,说明其用途和使用方法。
四、错误处理良好的错误处理能够提高程序的稳定性和可靠性。
以下是一些错误处理的原则:1. 检查输入参数的合法性,防止潜在的错误发生;2. 避免使用魔术数值,使用宏定义或常量来表示特定的含义;3. 使用合适的异常处理机制,如返回错误码或抛出异常。
五、代码Review的重要性代码Review是一种通过检查、审查和评估代码来提高代码质量的过程。
代码Review的重要性体现在以下几个方面:1. 代码Review有助于发现和纠正潜在的代码错误和缺陷;2. 代码Review可以促进编程规范的遵守和统一性的维护;3. 通过代码Review,团队成员之间可以相互学习和交流,提高编程能力。
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语言编程规范与风格,并提供一些实践建议。
1. 代码缩进代码缩进是C语言中非常重要的一个方面,它可以使代码结构清晰,易于阅读。
推荐使用4个空格或者制表符来进行代码缩进。
2. 命名规范为了让代码更易读和理解,命名规范应具有一定的规则性和描述性。
变量、函数和常量的命名应具有一定的规范,比如使用驼峰命名法(camelCase)或者下划线法(underscore_case)。
3. 注释注释是代码中的重要组成部分,可以使代码更易读和理解。
应该在代码中适当地使用注释,解释代码的功能、用途和注意事项。
注释应该清晰、简洁且易于理解。
4. 函数设计函数是C语言中重要的组织单元,应该遵循一定的设计原则来编写函数。
函数应该具有良好的命名,功能单一且高内聚。
函数的参数应该明确且合理,避免过多的参数传递。
函数的返回值应该清晰地说明其含义。
5. 条件语句和循环语句条件语句和循环语句是C语言中常用的流程控制语句,应该遵循一定的格式和风格。
条件语句的括号应该与关键字紧挨着,条件表达式应该适当地加上括号,以增加代码的可读性。
循环语句的条件表达式应该明确且易于理解,循环体应该具有合适的缩进。
6. 数据类型和变量声明在C语言中,数据类型和变量声明是非常重要的。
应该根据需要选择合适的数据类型,尽量避免使用过长或过短的数据类型。
变量声明应该在函数开头或者合适的位置进行,尽量避免使用全局变量。
7. 引入头文件C语言中的头文件对代码的模块化和可维护性非常重要。
在代码中应该适当引入所需要的头文件,避免使用过多的全局引入。
头文件应该具有合适的宏定义和条件编译,以提高代码的可复用性。
8. 错误处理在编程过程中,错误处理是非常重要的一部分。
应该养成检查错误和处理错误的习惯,合理运用条件语句和错误码,以便更好地调试和修复代码。
c语言编程规范

c语言编程规范C语言是一种广泛使用的编程语言,为了使代码可读性强,易于维护,编写出高质量的C语言代码,需要遵守一些编程规范。
1. 命名规范:- 使用有意义的变量和函数名称,避免使用缩写或不明确的名称。
- 变量和函数名称使用小驼峰式命名,以单词首字母小写,后续的单词首字母大写。
- 宏常量使用全部大写字母,并用下划线分隔单词。
2. 注释规范:- 使用注释来解释代码的逻辑、功能或者算法,提高代码的可读性。
- 在函数开头可以用注释来描述函数的输入、输出及功能。
- 注释应该与代码对齐,避免过长或过短,同时避免注释代码。
3. 缩进和空格规范:- 使用合适的缩进,增加代码的可读性。
- 使用4个空格作为一次缩进,而不是使用Tab字符。
- 在运算符和逗号后加一个空格,使代码更易读。
- 在大括号前加一个空格,与控制流语句对齐。
4. 代码结构规范:- 将相关功能的代码块放在一起,便于阅读和维护。
- 逻辑层次清晰,函数和类方法要尽量短小,每个函数的功能单一、复用性强。
- 相关联的变量放在一起声明,并按照类型顺序排序。
- 避免过长的行,推荐每行代码不超过80个字符。
5. 错误处理规范:- 在代码中检查错误并进行适当的处理,避免代码崩溃或者产生不可预料的结果。
- 使用错误码或者异常来处理错误,避免使用魔法数字。
- 使用合适的方式记录错误信息,方便调试和定位问题。
6. 动态内存管理规范:- 在使用动态内存分配时,需要及时释放分配的资源,避免内存泄漏。
- 需要注意避免指针悬挂和使用已经释放的内存。
7. 注重效率和安全性:- 在编写代码时注重代码的性能和效率,避免使用低效的算法。
- 在处理用户输入或者系统API调用时,需要对输入进行有效性检查,避免安全漏洞。
8. 一致性和规范性:- 保持代码的一致性和规范性,遵循编程规范,方便团队协作和代码维护。
- 遵循公司或项目的编码规范,保持团队的代码风格一致。
以上是C语言编程规范的一些基本要点,通过遵守这些规范,可以提高代码的可读性、可维护性和代码质量,使得代码更加规范和高效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一、文件结构1.1 版权和版本的声明1.2 头文件的结构1.3 定义文件的结构二、文件的版式2.1 空行的用法2.2 代码行2.3 代码行内的空格2.4 对齐2.5 长行拆分2.6 修饰符的位置2.7 注释三、命名规则3.1 命名基本规则四、表达式和基本语句4.1 运算符的优先级4.2 复合表达式4.3 if 语句4.4 循环语句的效率五、函数设计5.1 参数的规则5.2 返回值的规则5.3 函数内部实现的规则5.4 其它建议六、其它经验和建议6.1 提高程序的效率一、文件结构每个C程序通常分为两个文件。
一个文件用于保存程序的声明(declaration),称为头文件。
另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。
C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀1.1 版权和版本的声明版权和版本的声明位于头文件和定义文件的开头,主要内容有:(1)版权信息。
(2)文件名称,文件内容摘要。
(3)当前版本号,最后修改日期。
格式如下:/*--------------------------------------------------------------------------文件名称空行文件摘要Version版本号Last Modify: 最后更改日期Copyright (c) 2006 Shenzhen International Solution Software Co., Ltd.All rights reserved.--------------------------------------------------------------------------*/示例如下:/*--------------------------------------------------------------------------Siss8118.hHeader file for Siss5118Version 1.0Last Modify: 2005.12.30Copyright (c) 2006 Shenzhen International Solution Software Co., Ltd.All rights reserved.--------------------------------------------------------------------------*/示例1-1 版权和版本的声明头文件由三部分内容组成:(1)头文件开头处的版权和版本声明(2)预处理块(3)函数和结构体声明等假设头文件名称为Syscfg.h,头文件的结构参见示例1.2.1 为了防止头文件被重复引用,应当用#ifndef/#define/#endif 结构产生预处理块1.2.2 用#include <filename.h> 格式来引用标准库的头文件(编译器将从库目录开始搜索)1.2.3 用#include “filename.h”格式来引用非标准库的头文件(编译器将从工作目录开始搜索) 1.2.4 头文件中只存放函数和变量的“声明”而不存放函数和变量的“定义”1.2.5 结构体定义应使用typedef定义结构体别名,避免直接使用struct直接定义结构体。
1.2.6 尽量避免使用全局变量,确实需要使用全局变量供其它模块引用时,必须在头文件中使用类似extern int value声明。
1.2.7 头文件中存放需要引用的特殊宏(使用#define定义的宏替换)1.2.8 在函数声明前存放函数需要引用的常量宏(使用#define定义的常量)示例如下:// 版权和版本声明见示例1-1,此处省略。
#ifndef _SYSCFG_H // 防止syscfg.h 被重复引用#define _SYSCFG_H#include <absacc.h> // 头文件中需要引用标准库的头文件…#include “main.h” // 头文件中需要引用非标准库的头文件…#define MEM_TYPE code // 特殊宏定义typedef struct //结构体定义{…}tSysCfg;extern int iSysStatus; //全局变量声明#define SYS_RUNNING_STATUS 1 // 全局函数引用宏定义#define SYS_CONFIG_STATUS 2void Function1(…); // 全局函数声明…#endif // _SYSCFG_H示例1-2 头文件的结构定义文件有三部分内容:(1)定义文件开头处的版权和版本声明(参见示例1-1)(2)对一些头文件的引用(3)程序的全局变量,模块静态变量定义(4)程序的模块静态函数声明(5)程序的实现体(包括数据和代码)假设定义文件的名称为Syscfg.c,定义文件的结构参见示例1-3。
// 版权和版本声明见示例1-1,此处省略。
#include <absacc.h> // 模块中需要引用标准库的头文件…#include “main.h” // 模块中需要引用非标准库的头文件…#includ e “Syscfg.h” // 引用本模块头文件#define SYS_STATUS_MAX 1 //模块常量宏定义#define ZeroMemory(Destination,Length) memset((Destination),0,(Length)) //模块特殊宏定义int iSysStatus; //全局变量定义static int iSys; //模块静态变量定义static void ReadCfg(…); // 模块静态函数声明void Function1(…) // 全局函数实现{…}static void ReadCfg(…) // 模块静态函数实现{…}示例1-3 C文件的结构二、文件的版式2.1 空行的用法空行起着分隔程序段落的作用。
空行得体(不过多也不过少)将使程序的布局更加清晰。
空行不会浪费内存,所以不要舍不得用空行。
2.1.1 在每个类声明之后、每个函数定义结束之后都要加空行。
2.1.2 在一个函数体内,函数变量定义后面应加空行分隔。
2.1.3 在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。
示例如下:示例2-1空行的用法2.2 代码行2.1.1 一行代码只做一件事情,如只定义一个变量,或只写一条语句。
这样的代码容易阅读,并且方便于写注释。
2.1.2 if 、for 、while 、do 等语句自占一行,执行语句不得紧跟其后。
示例2-2代码行的风格:左边的为良好的风格,右边为不良的风格// 空行void Function1(…){int i,j; unsigned char cBuff[10]; // 空行 … } // 空行 void Function2(…) { … } // 空行 void Function3(…) { … }// 空行 while (condition) { statement1; // 空行 if (condition) { statement2; } else { statement3; } // 空行 statement4; } x = a + b; y = c + d;z = e + f; if (width < height) { dosomething(); } for (initialization; condition; update) {dosomething(); }// 空行 other(); x = a + b; y = c + d; z = e + f;if (width < height) dosomething(); for (initialization; condition; update) dosomething(); other();2.3 代码行内的空格2.3.1 函数名之后不要留空格,紧跟左括号‘(’。
2.3.2‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。
2.3.3‘,’之后要留空格,如Function(x, y, z)。
如果‘;’不是一行的结束符号,其后要留空格,如for (initialization; condition; update)。
2.3.4 赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格。
2.3.5 一元操作符如“!”、“~”、“++”、“--”、“&”(地址运算符)等前后不加空格。
2.3.6 象“[]”、“.”、“->”这类操作符前后不加空格。
2.3.7 对于表达式比较长的for 语句和if 语句,为了紧凑起见可以适当地去掉一些空格,例2.4 对齐2.4.1 程序的分界符‘{’和‘}’应独占一行并位于同一列,同时与引用它们的语句左对齐。
2.5 长行拆分2.5.1 代码行最大长度宜控制在70 至80 个字符以内。
代码行不要过长,否则眼睛看不过来,也不便于打印。
2.5.2 长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。
2.6 修饰符的位置修饰符* 和&应该靠近数据类型还是该靠近变量名,是个有争议的活题。
若将修饰符* 靠近数据类型,例如:int* x; 从语义上讲此写法比较直观,即x 是int 类型的指针。
上述写法的弊端是容易引起误解,例如:int* x, y; 此处y 容易被误解为指针变量。
虽然将x 和y 分行定义可以避免误解,但并不是人人都愿意这样做。
2.6.1 应当将修饰符* 和&紧靠变量名例如:char *name;int *x, y; // 此处y 不会被误解为指针2.7 注释C 语言的注释符为“/*…*/”。
C++语言中,程序块的注释常采用“/*…*/”,行注释一般采用“//…”。
注释通常用于:(1)版本、版权声明;(2)函数接口说明;(3)重要的代码行或段落提示。
虽然注释有助于理解代码,但注意不可过多地使用注释。
参见示例2-6。
2.7.1 注释是对代码的“提示”,而不是文档。
程序中的注释不可喧宾夺主,注释太多了会让人眼花缭乱。
注释的花样要少。
2.7.2 如果代码本来就是清楚的,则不必加注释。
否则多此一举,令人厌烦。
例如i++; // i 加1,多余的注释2.7.3 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。