代码规范(代码片段)

Zwyooo Zwyooo     2022-12-01     750

关键词:

7.3.10 尽量减少循环嵌套层次。
7.3.11 避免循环体内含判断语句
避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。

说明:目的是减少判断次数。循环体中的判断语句是否可以移到循环体外,要视程序的具体情况而言,一般情况,与循环变量无关的判断语句可以移到循环体外,而有关的则不可以。

示例:如下代码效率稍低。

复制代码
 1 for (i = 0; i < MAX_RECT_NUMBER; i++)
 2 
 3    if (DataType == RECT_AREA)
 4     
 5     AreaSum += RectArea[i];
 6     
 7     else
 8     
 9 RectLengthSum += Rect[i].length;
10 RectWidthSum += Rect[i].width;
11     
12 
复制代码

 

因为判断语句与循环变量无关,故可如下改进,以减少判断次数。

复制代码
 1 if (DataType == RECT_AREA)
 2 
 3    for (i = 0; i < MAX_RECT_NUMBER; i++)
 4     
 5 AreaSum += RectArea[i];
 6     
 7 
 8 else
 9 
10     for (i = 0; i < MAX_RECT_NUMBER; i++)
11     
12 RectLengthSum += Rect[i].length;
13 RectWidthSum += rect[i].width;
14     
15 
复制代码

 

7.3.12 不要一味追求紧凑的代码。
说明:因为紧凑的代码并不代表高效的机器码

8 性能
在写代码的时候,从头至尾都应该考虑性能问题。这不是说时间都应该浪费在优化代码上,而是我们时刻应该提醒自己要注意代码的效率。比如:如果没有时间来实现一个高效的算法,那么我们应该在文档中记录下来,以便在以后有空的时候再来实现她。

不是所有的人都同意在写代码的时候应该优化性能这个观点的,他们认为性能优化的问题应该在项目的后期再去考虑,也就是在程序的轮廓已经实现了以后。

8.1 可移植性
为了保证系统的可移植性,需要注意以下几点:

8.1.1 换行
如果需要换行的话,尽量用 println 来代替在字符串中使用"\\n"。

你不要这样:

System.out.print("Hello,world!\\n");

要这样:

System.out.println("Hello,world!");

或者你构造一个带换行符的字符串,至少要象这样:

String newline = System.getProperty("line.separator");

System.out.print ("Hello world" + newline);

8.1.2 PrintStream
PrintStream已经被不赞成(deprecated)使用,用PrintWrite来代替。

8.2 可测性
8.2.1 调测
在同一项目组或产品组内,要有一套统一的为集成测试与系统联调准备的调测开关及相应打印方法,并且要有详细的说明。

说明:本规则是针对项目组或产品组的。

8.2.2 调测信息串格式
在同一项目组或产品组内,调测打印出的信息串的格式要有统一的形式。信息串中至少要有所在模块名(或源文件名)。

说明:统一的调测信息格式便于集成测试。

8.2.3 在编程中注意单元测试
编程的同时要为单元测试选择恰当的测试点,并仔细构造测试代码、测试用例,同时给出明确的注释说明。测试代码部分应作为(模块中的)一个子模块,以方便测试代码在模块中的安装与拆卸(通过调测开关)。

说明:为单元测试而准备。

8.2.4 测试准备
在进行集成测试/系统联调之前,要构造好测试环境、测试项目及测试用例,同时仔细分析并优化测试用例,以提高测试效率。

说明:好的测试用例应尽可能模拟出程序所遇到的边界值、各种复杂环境及一些极端情况等。

8.2.5 测试手段
在软件系统中设置与取消有关测试手段,不能对软件实现的功能等产生影响。

说明:即有测试代码的软件和关掉测试代码的软件,在功能行为上应一致。

8.2.6 调测开关
用调测开关来切换软件的DEBUG版和正式版,而不要同时存在正式版本和DEBUG版本的不同源文件,以减少维护的难度。

8.2.7 调试与测试
在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关及相应测试代码如打印函数等。

说明:程序的调试与测试是软件生存周期中很重要的一个阶段,如何对软件进行较全面、高率的测试并尽可能地找出软件中的错误就成为很关键的问题。因此在编写源代码之前,除了要有一套比较完善的测试计划外,还应设计出一系列代码测试手段,为单元测试、集成测试及系统联调提供方便。

8.2.8 调测开关的级别和类型
调测开关应分为不同级别和类型。

说明:调测开关的设置及分类应从以下几方面考虑:针对模块或系统某部分代码的调测;针对模块或系统某功能的调测;出于某种其它目的,如对性能、容量等的测试。这样做便于软件功能的调测,并且便于模块的单元测试、系统联调等。

8.2.9 编写防错程序
编写防错程序,然后在处理错误之后可用断言宣布发生错误。

示例:假如某模块收到通信链路上的消息,则应对消息的合法性进行检查,若消息类别不是通信协议中规定的,则应进行出错处理

phpyoastseo规范输出的代码片段(代码片段)

查看详情

java代码规范-代码格式(代码片段)

查看详情

textpython代码风格规范(代码片段)

查看详情

c++代码规范(代码片段)

此规范参考:Codeforces上Jiangly的码风,Menci代码规范,知乎pansz的回答VSCode的C_Cpp:Clang_format_style和Clang_format_fallbackstyle设置为:BasedOnStyle:google,IndentWidth:4,TabWidth:4,UseTab:Always,BreakBeforeBraces:Custom,Allow 查看详情

编码规范篇|c#编码规范代码规范总结,包括命名规范,代码规范注释规范等(代码片段)

...;博客主页:https://xiaoy.blog.csdn.net🎥本文由呆呆敲代码的小Y原创,首发于CSDN🙉🎄学习专栏推荐:Unity精品学习专栏🌲游戏制作专栏推荐:游戏制作分享🌲Unity实战100例专栏推荐:Unity实战10 查看详情

psr-1基本代码规范(代码片段)

基本代码规范本篇规范制定了代码基本元素的相关标准,以确保共享的PHP代码间具有较高程度的技术互通性。关键词“必须”("MUST")、“一定不可/一定不能”("MUSTNOT")、“需要”("REQUIRED")、“将会”("SHALL")、“不会”("SHALLNOT")、... 查看详情

代码规范实践(代码片段)

规范等级说明级别I:  默认级别,要求所有项目必须遵守。级别II: 建议所有项目中遵守。级别III:鼓励各个项目根据实际情况执行。1.格式与命名规范(FormatingandNamingConventions)1.1  缩进 使用Tab缩进。(I)1.2换行&nb... 查看详情

markdowngitcommit提交规范(代码片段)

查看详情

psr-2代码风格规范(代码片段)

...net/qq_28602957/article/details/52248239 这篇规范是PSR-1(基本代码规范)的扩展和继承。本规通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。这个风格规范是从各种各样的项目... 查看详情

markdowntriniti后续开发项目的代码规范(代码片段)

查看详情

蒟蒻的代码规范与文档编写规范(代码片段)

代码规范代码每行不得超过80个字符;代码不分块、连续编写,且每一个模块不允许超过100行;双目运算符运算对象与运算符之间一定要分别打一个空格,单目运算符与运算对象之间不打空格;禁止使用Tab缩进,使用2空格缩进代... 查看详情

腾讯alloy团队代码规范(代码片段)

概述我个人很看重代码规范,因为代码是写给别人看的,按规范写别人才更容易理解。之前苦于没有代码规范的资料,现在在github上面看到了腾讯Alloy团队的代码规范,于是学习了一下,并记录下我自己还没怎么注意的地方,供... 查看详情

个人代码规范分享(代码片段)

概述今天我无意中看到一篇写代码规范的博客,深受启发,于是决定总结一下自己写代码的规范,记录下来,供以后开发时参考,相信对其他人也有用。参考资料:个人代码规范分享变量长度变量名不要缩写,不限制变量长度。... 查看详情

css规范化(代码片段)

查看详情

ruby样本规范助手(代码片段)

查看详情

markdownc#语言规范位置(代码片段)

查看详情

rubycrawler::urlparser规范(代码片段)

查看详情

scss规范化(代码片段)

查看详情