编码感悟——写出好代码
Posted lucky_xian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编码感悟——写出好代码相关的知识,希望对你有一定的参考价值。
编码感悟
概述
最近因为review质量太好了,被公司拉去宣传一波,要我写一个经验分享,既然要给公司写了,也就顺便写在这里吧,既能得瑟一下,又能勉励自己;不过我觉得与其讲怎么在代码里捉虫,不如讲讲怎么写好代码,这两者时互通的。
核心思想:
核心思想:保证代码的健壮性,下面从5个点简单阐述一下:
1.减少代码运行隐患;
- 1.1.减少冗余代码:代码写的冗余,说明编码思路不清晰,那就更容易写出bug,也会使代码可读性变差;
- 1.2.做判断时条件要严谨:例如想要判断字符串类型的参数是否相等,要考虑到大小写差异,是否忽略空格等;慎用contains方法,多用startsWith或者endsWith替代;
- 1.3.不要随意引入成员变量:成员变量生命周期长,会影响垃圾回收;在多线程环境下也会有线程安全风险;
- 1.4.多线程环境下对锁的处理要谨慎,不要忘记释放锁;
- 1.5.转测试代码包中不要忘了删除开发自验证代码;
- 1.6.计划做的事要加TODO标志,避免后续开发中忘记;
2.运行时异常要易排查;
- 2.1.注意加有效日志:例如switch中default分支就应该加日志,以便在后续排查问题时有足够的信息定位根因;
3.保证代码的维护性;
- 3.1.注意编程规范:例如变量命名要见其名知其义,这样可以增加代码可读性;
- 3.2.一个方法只写一个逻辑:复杂的逻辑拆分多个方法来写,这样可以在编码中理清思路,减少出错,也会使代码更容易阅读和维护;
- 3.3.注意加有效注释:注释要少加,注释太多的话,就很难随着代码一起维护,但是有些方法逻辑比较复杂,或者有特别需要引起后来人注意的地方,应该在注释里解释清楚,以便后续维护;
4.注意代码扩展性;
- 4.1.不要使用硬编码:例如解析字符串,使用硬编码对其切割解析,就很容易引发解了一个旧bug,引了三个新bug的局面,修修补补一段时间,就发现自己的代码自己也看不懂了;
- 4.1.设计模式:之前用硬编码写过一段参数解析,写完后给别人解释这段代码都很费劲,后来听从大佬建议采用了访问者模式,代码迅速变得又高端又好理解又容易扩展,好处良多;但是应用设计模式还是很困难的,我觉得先从简单的学起比较好,例如工厂模式,代理模式等等;
- 其他:
- 5.1.注意代码性能:例如判断语句能放在循环体外面写,就不要放在循环体里面写;
- 5.2.使用工具协助:idea里可以标注空指针,一部分冗余代码等,还可以调整代码格式,非常顺手;
- 5.3.多复盘自己的代码:复盘自己的代码,进一步优化自己的代码结构,使其明晰明朗,加上自己对自己的业务比较理解,也容易发现一些其他人发现不了的问题;
- 5.4.多review别人的代码:既能学到别人写的好的代码,也能从别人的问题上警醒自己,不要犯类似的问题;
- 5.5.多让别人review自己的代码:只有别人发现了自己发现不了的问题,才会受到更多的启发,能获得更大的成长;
- 5.6.自我提升:多看书,多学习,多看优秀代码,耳濡目染,快速进步;
结语:
有幸得到过大佬的指点,开了点窍,现在在努力践行这些标准,也借这个机会将这点感悟分享给大家;
以上是关于编码感悟——写出好代码的主要内容,如果未能解决你的问题,请参考以下文章