美文网首页
代码质量

代码质量

作者: 万物皆有序和公式 | 来源:发表于2019-05-30 13:54 被阅读0次

1 尽量采用懒加载的策略,即在需要的时候才创建

例如:

String str = "aaa";if (i == 1)
{

list.add(str);

}

建议替换为:

if (i == 1)
{

String str = "aaa";

list.add(str);

}

2 不要在循环中使用try…catch…,应该把其放在最外层

除非不得已。如果毫无理由地这么写了,只要你的领导资深一点、有强迫症一点,八成就要骂你为什么写出这种垃圾代码来了。

3 乘法和除法使用移位操作

例如:

for (val = 0; val < 100000; val += 5)
{
a = val * 8;
b = val / 2;
}

用移位操作可以极大地提高性能,因为在计算机底层,对位的操作是最方便、最快的,因此建议修改为:

for (val = 0; val < 100000; val += 5)
{
a = val << 3;
b = val >> 1;
}

移位操作虽然快,但是可能会使代码不太好理解,因此最好加上相应的注释。

4 及时清除不再需要的会话

为了清除不再活动的会话,许多应用服务器都有默认的会话超时时间,一般为30分钟。当应用服务器需要保存更多的会话时,如果内存不足,那么操作系统会把部分数据转移到磁盘,应用服务器也可能根据MRU(最近最频繁使用)算法把部分不活跃的会话转储到磁盘,甚至可能抛出内存不足的异常。如果会话要被转储到磁盘,那么必须要先被序列化,在大规模集群中,对对象进行序列化的代价是很昂贵的。因此,当会话不再需要时,应当及时调用HttpSession的invalidate()方法清除会话。

5 尽量减少对变量的重复计算

明确一个概念,对方法的调用,即使方法中只有一句语句,也是有消耗的,包括创建栈帧、调用方法时保护现场、调用方法完毕时恢复现场等。所以例如下面的操作:

for (int i = 0; i < list.size(); i++)
{...}

建议替换为:

for (int i = 0, int length = list.size(); i < length; i++)
{...}

这样,在list.size()很大的时候,就减少了很多的消耗

6 对资源的close()建议分开操作

意思是,比如我有这么一段代码:

try{
XXX.close();
YYY.close();
}catch (Exception e)
{...}

建议修改为:

try{ XXX.close(); }catch (Exception e) { ... }try{ YYY.close(); }catch (Exception e) { ... }

虽然有些麻烦,却能避免资源泄露。我想,如果没有修改过的代码,万一XXX.close()抛异常了,那么就进入了cath块中了,YYY.close()不会执行,YYY这块资源就不会回收了,一直占用着,这样的代码一多,是可能引起资源句柄泄露的。而改为上面的写法之后,就保证了无论如何XXX和YYY都会被close掉。

相关文章

  • 何为代码质量?——用脑子写代码

    何为代码质量?——用脑子写代码 何为代码质量?——用脑子写代码

  • 代码质量

    代码可靠性 首先体现在代码的严谨性上,在一些弱类型的语言中,使用变量是可以不事先进行声明的,甚至直接使用也是不会报...

  • 代码质量

    1 尽量采用懒加载的策略,即在需要的时候才创建 例如: 建议替换为: 2 不要在循环中使用try…catch…,...

  • 代码减肥

    测试代码质量的唯一方式:别人看你代码时说 f * k 的次数。 代码质量与其整洁度成正比。干净的代码,既在质量上较...

  • 代码规范2

    测试代码质量的唯一方式:别人看你代码时说 f * k 的次数。 代码质量与其整洁度成正比。干净的代码,既在质量上较...

  • 代码质量要求

    一篇很好的文章https://www.jianshu.com/p/4555704f9696

  • 谈谈代码质量

    0 反思 代码质量永远是绕不过去的一个坎,如今公司人员扩招,更多进来的是初级工程师,慢慢意识到一个严重的问题,质量...

  • 评估代码质量

    【译】做好这几件事,代码质量可以提升一个档次https://jackeyzhe.github.io/2019/10...

  • 前端代码质量

    前端质量保障的“三层四面” 一、前端项目代码中的常见问题 1、 凌乱的书写风格,阅读体验差2、 低质量的编码,bu...

  • 提升代码质量

    MR源头控制 每次MR的时候需要跑脚本控制代码质量,并且 由对改模块较为熟悉的人员进行Code Review, C...

网友评论

      本文标题:代码质量

      本文链接:https://www.haomeiwen.com/subject/iuomtctx.html