一、排版: 1、关键词和操作符之间加适当的空格。
2、相对独立的程序块与块之间加空行
3、较长的语句、表达式等要分成多行书写。
4、划分出的新行要进行适应的缩进,使排版整齐,语句可读。
5、长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
6、循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
7、若函数或过程中的参数较长,则要进行适当的划分。
8、不允许把多个短语句写在一行中,即一行只写一条语句。
9、函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
10、C/C++语言是用大括号‘{’和‘}’界定一段程序块的,编写程序块时‘{’和‘}’应各独占一行并且位于同一列,同时与引用它们的语句左 对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方 式。
二、注释 1、注释要简单明了。
2、边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
3、在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。
4、对代码的注释应放在其上方相邻位置,不可放在下面。
5、对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。
6、变量、常量的注释应放在其上方相邻位置或右方。
7、全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
8、在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。
9、在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。
三、命名 1、较短的单词可通过去掉“元音”形成缩写;
2、较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
3、使用匈牙利表示法
四、可读性 1、避免使用不易理解的数字,用有意义的标识来替代。
2、不要使用难懂的技巧性很高的语句。
3、源程序中关系较为紧密的代码应尽可能相邻。
五、变量 1、去掉没必要的公共变量。
2、构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。
3、仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。
4、明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。
5、当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。
6、防止局部变量与公共变量同名。
7、仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象。
8、结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地(如预留一些空间等)。
9、留心具体语言及编译器处理不同数据类型的原则及有关细节。
10、严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。
11、编程时,要注意数据类型的强制转换。
六、函数、过程 1、函数的规模尽量限制在200行以内。
2、一个函数最好仅完成一件功能。
3、为简单功能编写函数。
4、函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。
5、尽量不要编写依赖于其他函数内部实现的函数。
6、避免设计多参数函数,不使用的参数从接口中去掉。
7、用注释详细说明每个参数的作用、取值范围及参数间的关系。
8、检查函数所有参数输入的有效性。
9、检查函数所有非参数输入的有效性,如数据文件、公共变量等。
10、函数名应准确描述函数的功能。
11、避免使用无意义或含义不清的动词为函数命名
12、函数的返回值要清楚、明了,让使用者不容易忽视错误情况。
13、明确函数功能,精确(而不是近似)地实现函数设计。
14、减少函数本身或函数间的递归调用。
15、编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。
七、可测性 1、在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关及相应测试代码如打印函数等。
2、在进行集成测试/系统联调之前,要构造好测试环境、测试项目及测试用例,同时仔细分析并优化测试用例,以提高测试效率。
八、程序效率 1、编程时要经常注意代码的效率。
2、在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。
3、不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。
4、编程时,要随时留心代码效率;优化代码时,要考虑周全。
5、要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。
6、通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。
7、在多重循环中,应将最忙的循环放在最内层。
8、尽量减少循环嵌套层次。
9、避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。
10、尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。
九、质量保证 1、在软件设计过程中构筑软件质量。代码质量保证优先原则
(1)正确性,指程序要实现设计要求的功能。
(2)稳定性、安全性,指程序稳定、可靠、安全。
(3)可测试性,指程序要具有良好的可测试性。
(4)规范/可读性,指程序书写风格、命名规则等要符合规范。
(5)全局效率,指软件系统的整体效率。
(6)局部效率,指某个模块/子模块/函数的本身效率。
(7)个人表达方式/个人方便性,指个人编程习惯。
2、只引用属于自己的存贮空间。
3、防止引用已经释放的内存空间。
4、过程/函数中分配的内存,在过程/函数退出之前要释放。
5、过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出前要关闭。
6、防止内存操作越界。
7、时刻注意表达式是否会上溢、下溢。
8、认真处理程序所能遇到的各种出错情况。
9、系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用。
10、系统运行之初,要对加载到系统中的数据进行一致性检查。
11、严禁随意更改其它模块或系统的有关设置和配置。
12、不能随意改变与其它模块的接口。
13、充分了解系统的接口之后,再使用系统提供的功能。
14、要时刻注意易混淆的操作符。当编完程序后,应从头至尾检查一遍这些操作符。
15、不使用与硬件或操作系统关系很大的语句,而使用建议的标准语句。
16、建议:使用第三方提供的软件开发工具包或控件时,要注意以下几点:
(1)充分了解应用接口、使用环境及使用时注意事项。
(2)不能过分相信其正确性。
(3)除非必要,不要使用不熟悉的第三方工具包与控件。
十、代码编译 1、编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢失。
2、同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。
3、合理地设计软件系统目录,方便开发人员使用。
4、打开编译器的所有告警开关对程序进行编译。
5、在同一项目组或产品组中,要统一编译开关选项。
6、使用工具软件(如Visual SourceSafe)对代码版本进行维护。
十一、代码测试、维护 1、单元测试要求至少达到语句覆盖。
2、单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。
3、清理、整理或优化后的代码要经过审查及测试。
4、代码版本升级要经过严格测试。
from:
相关推荐
本压缩包包含的“MATLAB高效编程程序源代码”提供了2010年编制的12个章节的详细教程,这些源代码不仅适用于初学者学习MATLAB的基础知识,也为经验丰富的程序员提供了优化和提升编程效率的宝贵参考资料。 首先,我们...
高效的代码能够在单片机有限的资源下运行得更快,占用更少的内存空间。为了提高执行效率,开发者应该尽量少用库函数,因为库函数往往包含了许多不必要的代码,容易造成资源浪费。同时,选择合适的数据结构和算法也是...
6. **良好的编码风格**:清晰、一致的代码更容易被理解和维护,从而间接提高效率。 综上所述,"C/C++进阶与高效代码要看的书"这个压缩包很可能包含了关于这些主题的书籍或资料,可以帮助读者深入理解C/C++的高级...
清晰的代码结构、合理的命名规范、充足的注释和文档能够帮助团队成员更快地理解代码逻辑,减少后期维护的工作量。遵循一定的设计模式,如单例模式、工厂模式或观察者模式,可以使代码更加模块化,便于扩展和重用。 ...
了解函数模板和类模板的用法,可以编写更高效、更具复用性的代码。 5. **异常处理** 异常处理是C++中处理运行时错误的方式,通过try、catch和throw关键字来捕获和处理异常,提高程序的健壮性。 6. **输入/输出流*...
以下是一些关于高效SQL代码编写的关键知识点: 1. **变量声明**:在编写SQL代码时,应遵循变量声明的原则,确保变量名与表的字段名一致,以提高代码的可读性。同时,使用`%TYPE`来定义变量类型,这样当表结构发生...
《PHP精粹 编写高效PHP代码》这本书是PHP开发者的重要参考资料,旨在帮助读者提升PHP编程技巧,优化代码性能,从而编写出更高效、更可靠的PHP应用。在深入理解PHP语言特性和最佳实践的基础上,我们可以从以下几个...
4. **自增自减指令的运用**:在适当的地方使用自增(++)和自减(--)操作符,以及复合赋值表达式(如a+=1),可以生成更紧凑的机器代码,提高执行效率。 5. **减少运算强度**:通过简化运算表达式,如使用位操作...
McConnell汇集了来自研究机构、学术界以及业界日常实践的主要知识, 把最高效的技术和最重要的原理交织融会为这本既清晰又实用的指南。 无论您的经验水平如何,也不管您在怎样的开发环境中工作,也无论项目是大是...
第八,最后,书中可能会提及Java的最新特性和更新,例如Java 8引入的Lambda表达式和流API,以及Java 11及以后版本的新功能,这些都能让代码更简洁、更高效。 通过《代码大全》这本书的学习,无论是新手还是资深...
再者,代码的可读性和可维护性也是评价标准之一,清晰的代码更容易理解和修改。最后,考虑代码的可移植性,使得程序能够在不同微控制器或编译器环境下顺利运行。 1. 尽量避免过多使用库函数。库函数虽然方便,但...
通过阅读《代码大全(第二版)》,开发者可以全面提升自己的编程技巧和软件工程能力,从而写出更高效、更可靠、更易于维护的代码。这本书是每个程序员的必备参考资料,无论你是初入职场还是资深专家,都能从中受益匪浅...
1. **使用自增/自减指令**:如`a+=1`可以写作`a++`,在大多数情况下,后者能够生成更高效的代码。 2. **减少运算强度**: - 使用位操作替代求余运算。例如,`a = a % 8;` 可以用 `a = a & 7;` 来替代。 - 对于平方...
《代码大全(第二版)》是一本深受程序员喜爱的经典编程书籍,由Steve McConnell撰写,它提供了全面而深入的编程实践指导,旨在帮助开发者编写出更高效、可读性更强、易于维护的代码。这本书的PDF中文完整清晰版,带...
这本书的完整清晰版提供了丰富的编程指导和最佳实践,旨在帮助程序员编写出更高效、可读性更强的代码。以下是根据书中的内容提炼出的一些核心知识点: 1. **代码质量**:书中强调了代码质量的重要性,高质量的代码...
在敏捷开发中,由于其快速迭代、持续交付的特点,代码审查更是必不可少,因为它能够及时发现和修复问题,保持代码的整洁和一致性。 实施代码审查通常遵循以下步骤: 1. **提交准备**:开发者完成功能或修复后,将...
7. **代码质量与可维护性**:反面教材,垃圾代码也可以作为教学素材,强调编写清晰、简洁、可维护代码的重要性。 8. **源代码管理**:压缩包中的"CSharp_Garbage_Code_Generater-master"可能是一个GitHub仓库的名字...