编码感悟——写出好代码

概述

最近因为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.设计模式:之前用硬编码写过一段参数解析,写完后给别人解释这段代码都很费劲,后来听从大佬建议采用了访问者模式,代码迅速变得又高端又好理解又容易扩展,好处良多;但是应用设计模式还是很困难的,我觉得先从简单的学起比较好,例如工厂模式,代理模式等等;
  1. 其他
  • 5.1.注意代码性能:例如判断语句能放在循环体外面写,就不要放在循环体里面写;
  • 5.2.使用工具协助:idea里可以标注空指针,一部分冗余代码等,还可以调整代码格式,非常顺手;
  • 5.3.多复盘自己的代码:复盘自己的代码,进一步优化自己的代码结构,使其明晰明朗,加上自己对自己的业务比较理解,也容易发现一些其他人发现不了的问题;
  • 5.4.多review别人的代码:既能学到别人写的好的代码,也能从别人的问题上警醒自己,不要犯类似的问题;
  • 5.5.多让别人review自己的代码:只有别人发现了自己发现不了的问题,才会受到更多的启发,能获得更大的成长;
  • 5.6.自我提升:多看书,多学习,多看优秀代码,耳濡目染,快速进步;
结语:

有幸得到过大佬的指点,开了点窍,现在在努力践行这些标准,也借这个机会将这点感悟分享给大家;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值