内涵java代码老司机_​老司机告诉你高质量的Java代码是怎么练成的?

建议个人命名的变量长一些,一般用单词作为全称,这样代码读起来易懂,有些缩写根本不知道它代表的单词是什么,除了像id代表identifier,org代表organization这些大家常见的缩写命名。

命名一个方法的时候,最好能让大家见名知意,看到名字就能猜出你的功能,而不需要去看方法的注释,甚至是读源码来了解你的功能。

注释

写一个方法时可以先把这个方法的功能、算法原理交代一下,以后自己或者是其他人维护你的代码时就可以很方便,对于易出错的部分加注释提醒即可。

用class类型

写方法的时候的参数,少用基本类型的组合,而用class类型。

例如:

写一个查找用户的方法queryUser(int age)

最开始的业务需求是根据年龄来查找用户,后来业务规则发生了变化,你可能需要根据年龄和性别来查找用户,于是你又改成了这样queryUser(int age, intsex),假设用0代表男,1代表女(其实更好的实现是用枚举来表示男女);

说不定你哪天的业务又有变化了,需要根据年龄、性别、家庭住址来查询,于是乎你又改成了这样queryUser(int age, int sex, String address)。

如果你当时设计的方法是:queryUser(User user)传入的参数是一个User类呢,那该多好啊,你根本不需要改接口。

在实际项目开发中改一个接口的成本还是挺大的,实际项目开发中为了达到层次清晰、解耦的目的,后台分了好多层,action、business、dao其中dao还有分了dao接口和实现,一个接口修改得牵动多少地方。

而当初设计的接口传递的是User对象,那么你的代码可以简单的增加几行就能达到了目的,而不需要修改那么多的接口,一边修改一边纠结。

少复制、粘贴代码

同样的代码不要粘来粘去,当时写的时候确实是快了,可是以后需要修改的时候可就慢多了。

更可怕的是你要修改多处,结果你只修改了一处,而你自己却以为万事大吉了,说不定哪天就蹦出个bug来。应该把这些公共的代码提取成一个class或者是一个方法。

一个方法中不要写太多代码

一个方法中写好多代码,写的时候确实是很方便,很快,更好的办法是把一个大的方法分解成几个小的方法,然后在主方法中调用其他子方法。

如果把所有的逻辑都写在一个方法中,当需求发生变化的时候,再要修改那就慢多了。

一小段逻辑的代码可以提取出一个private方法,然后在一个方法中调用好几个私有的小方法。

这样读代码的人读起来也轻松,日后需求发生变化了,你的这些个小的逻辑代码块儿只要重新组合下,就又能满足新的功能,可以复用。

增加设计文档

增加一个新的功能模块时最好有个设计文档,先把方方面面都考虑周全了,设计好了再编码实现。

如果一开始就有个设计文档,能把方方面面都考虑周全,实现起来就容易多了,实现的代码还能优雅些。

为了达到最终的目的,可能中间要走些弯路,如果增加的功能多了,每次实现都走一些弯路,系统最终会变的臃肿不堪。

如果推倒重来,以前的功夫就都白费了,不光是编码,还有测试部门的测试,有时时间也不允许重构,再说了重构还有风险,这其中的代价还是挺大的。

所以新增功能一定要把需求搞清除,有个良好的设计文档,考虑周全了再编码实现。

最后在向SVN提交代码时先做个功能测试,然后没问题了,再做个codereview。

努力的人,爱尚实训老司机今天的忠告,你记住了吗?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值