代码规范

Posted Zwyooo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码规范相关的知识,希望对你有一定的参考价值。

7.2.5 Swing
避免使用 AWT 组件
混合使用 AWT 和 Swing 组件
如果要将 AWT 组件和 Swing 组件混合起来使用的话,请小心使用。实际上,尽量不要将他们混合起来使用。

滚动的 AWT 组件
AWT 组件绝对不要用 JscrollPane 类来实现滚动。滚动 AWT 组件的时候一定要用 AWT ScrollPane 组件来实现。

避免在 InternalFrame 组件中使用 AWT 组件
尽量不要这么做,要不然会出现不可预料的后果。

7.2.6 Z-Order 问题
AWT 组件总是显示在 Swing 组件之上。当使用包含 AWT 组件的 POP-UP 菜单的时候要小心,尽量不要这样使用。

7.2.7 不必要的对象构造
不要在循环中构造和释放对象

7.2.8 synchronized 关键字
避免太多的使用 synchronized 关键字

避免不必要的使用关键字synchronized,应该在必要的时候再使用它,这是一个避免死锁的好方法。

Borland Jbulider 不喜欢 synchronized 这个关键字,如果你的断点设在这些关键字的作用域内的话,调试的时候你会发现的断点会到处乱跳,让你不知所措。除非必须,尽量不要使用。

7.3 程序效率
7.3.1 注意代码的效率
编程时要经常注意代码的效率。

说明:代码效率分为全局效率、局部效率、时间效率及空间效率。全局效率是站在整个系统的角度上的系统效率;局部效率是站在模块或函数角度上的效率;时间效率是程序处理输入任务所需的时间长短;空间效率是程序所需内存空间,如机器代码空间大小、数据空间大小、栈空间大小等。

7.3.2 提高代码效率
在保证系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。

说明:不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。

7.3.3 局部效率应为全局效率服务
局部效率应为全局效率服务,不能因为提高局部效率而对全局效率造成影响。

7.3.4 循环体内工作量最小化。
说明:应仔细考虑循环体内的语句是否可以放在循环体之外,使循环体内工作量最小,从而提高程序的时间效率。

示例:如下代码效率不高。

复制代码
 1 for (i = 0; i < MAX_ADD_NUMBER; i++)
 2 {
 3    sum += i;
 4     BackSum = sum; /* backup sum */
 5 }
 6  
 7 语句“BackSum = sum;”完全可以放在for语句之后,如下。
 8 for (ind = 0; ind < MAX_ADD_NUMBER; ind++)
 9 {
10     sum += i;
11 }
12 BackSum  = sum; /* backup sum */
复制代码

 

7.3.5 仔细分析有关算法,并进行优化。
7.3.6 改进输入方式
仔细考查、分析系统及模块处理输入(如事务、消息等)的方式,并加以改进。

7.3.7 提高调用不频繁的代码效率要慎重
不应花过多的时间拼命地提高调用不很频繁的代码效率。

说明:对代码优化可提高效率,但若考虑不周很有可能引起严重后果。

7.3.8 提高空间效率
在保证程序质量的前提下,通过压缩代码量、去掉不必要代码以及减少不必要的局部和全局变量,来提高空间效率。

说明:这种方式对提高空间效率可起到一定作用,但往往不能解决根本问题。

7.3.9 循环的位置
在多重循环中,应将最忙的循环放在最内层。

说明:减少CPU切入循环层的次数。

示例:如下代码效率不高。

复制代码
1 for (row = 0; row < 100; row++)
2 {
3     for (col = 0; col < 5; col++)
4     {
5         sum += a[row][col];
6     }
7 }
复制代码

 

可以改为如下方式,以提高效率。

复制代码
for (col = 0; col < 5; col++)
{
    for (row = 0; row < 100; row++)
    {
        sum += a[row][col];
    }
}

以上是关于代码规范的主要内容,如果未能解决你的问题,请参考以下文章

java 代码片段

递进迭代敏捷

9.13面经

MuleSoft 使用 RAML 片段将 RAML 规范导入 Anypoint Studio

SQL记录-PLSQL包

uefi规范示例提到EfiCoreImageHandle。怎么弄?