大数据培训
美国上市大数据培训机构

400-111-8989

热门课程

正确理解Java代码编写规范

  • 时间:2018-02-06
  • 发布:大数据培训
  • 来源:大数据教程

正确理解Java代码编写规范

本文从Java代码编写的初期到结尾,做了一次整体的总结,希望对初学者有帮助。

1、命名很重要

一个错误的命名会很误导人,不良的命名,对于阅读代码的人来说很纠结。一个良好的命名对自己也有很大的帮助。

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

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

2、注释很重要

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

3、用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对象,那么你的代码可以简单的增加几行就能达到了目的,而不需要修改那么多的接口,一边修改一边纠结。

4、少复制、粘贴代码

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

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

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

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

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

我自己写代码的时候,刚开始写某个功能的时候很慢,有几种实现很纠结到底用那种实现,思考半天,给个变量起个名儿也得半天,有时候还不知道对应的英文单词,好吧,再打开桌面词典,查查单词。

写个方法时也得纠结半天,先想好方法的名字,然后是参数,还有返回值。

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

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

我自己写一个新功能的时候,第一次写很慢,如果是这个新功能发生了变化,需要修改代码,修改起来非常快,许多代码块儿都是现成的,只需要重新组合一下方法的调用即可。

6、添加设计文档

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

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

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

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

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

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

感谢大家阅读由大数据培训机构分享的“正确理解Java代码编写规范”希望对大家有所帮助,更多精彩内容请关注大数据培训官网

上一篇:Java大数据技术学习指南与成长路线
下一篇:Java大数据领域主流开源工具

基础差的新手如何学习Java?

大数据挖掘中易犯的11大错误

关于大数据分析方法的几点思考

干货 | 互联网运营中的10大数据分析方法

<
选择城市和中心
贵州省

广西省

海南省