代码规范
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]; } }
以上是关于代码规范的主要内容,如果未能解决你的问题,请参考以下文章