名企特训活动
 湖北
18163383217
首页 > 面试技巧 > 武汉IT培训:主管最讨厌的Java编码习惯(下)

武汉IT培训:主管最讨厌的Java编码习惯(下)

2018-02-13 14:33:45 来源:互联网 荐:IT资料豪华升级版,点击加群领取

湖北优就业是中公教育集团旗下IT就业培训品牌,致力于培养面向电商及互联网领域的高端人才,以学员就业为目的,优质就业为宗旨,是一家集互联网运营、SEO、Sp、社会化媒体、电商运营、产品经理、UI交互设计、Web前端、PHP、Android、iOS、Java、C/C++、软件测试工程师等课程为一体的武汉IT培训机构。

编辑推荐IT学习交流群:点击加群 139098659

编加群备注:橘子 (限时赠送500G海量IT学习资料,简历模版免费领)

对编程语言而言,好的编码风格不仅能在程序编写初期生成有效的框架编码,还可以让我们的编码更加清晰规范。但是,正如湖北优就业武汉IT培训指导老师所说,一些Java程序的编码风格虽应用广泛,却会对编码的可维护性产生负面影响,对我们的编程有害。本文告诉你如何打破这种风格,重写这4个有害的编码风格,优化编码,提高可维护性。

IT书籍

3.习惯用JavaBeans而不是不可变对象

不可变对象是构造后状态不改变。Scala的主要创造者Martin Odersky最近还称赞过这种不可变对象。在《高效的Java》一书中,Joshua Bloch列举了大量实例支持使用不可变对象,并总结了很多优点。但他的意见,似乎很大程度上被忽略。大多数程序使用JavaBeans来替代不可变对象。JavaBean明显要比不可变对象复杂的多,因为它的巨大的声明空间。粗略的讲,你可以把JavaBean看作是与不可变对象完全相反的对象:它允许最大的可变性。JavaBean常被用来做数据库记录的映射。假如你要从数据库记录集映射一行为对象,不考虑现有的持久化方案和框架,你会将这个对象设计成什么样子?跟javabean相似呢还是完全不一样?我认为会完全不一样,说明如下:

它不包含一个无参数构造方法(这一特征是javabean必备的。)。作者认为一个数据库记录的对象如果不包含任何数据是没有意义的。一个数据库表的所有字段都是可选的情况有多少?

It would likely not have anything to say about events and listeners.(不太明白作者的意思)

它不强迫你用可变的对象。

它内部有一个数据验证机制。这样一个验证机制对大多数数据库应用非常重要。(记住对象的第一原则:一个对象应该同时封装数据和对数据的操作。在这种情况下,操作就是验证数据。)

数据验证机制可以给最终用户(end user)报错。

按照javabeans的说明,javabeans是用来解决特殊领域的问题:在图形界面程序的设计中充当小部件。说明中绝对没有提到数据库。但现在通常用javabean来做数据库记录的映射。从实际角度来讲,许多被广泛使用的框架要求应用程序使用JavaBeans(或者其它类似的规范)来映射数据库记录。这种滥用不利于编程者了解和使用不可变对象。

4.私有成员排在其它成员的前面类成员的排序没有按照成员的作用域的大小排列,而是把private放在前面。

以前的好莱坞影片开头总是长篇的荣誉。同样地,大多数Java类把私有成员放在最前面。

然而,如果把私有成员定义放在后面,读者阅读会更容易。因为人们认识一个事物的通常过程都是从一般到特殊,从抽象层次来说,是从高层次到低层次的认识过程。如果你倒过来的话,读者就不能从整体上把握事物,也不能抓住事物的本质,只能在一堆具体的片段中迷失。

整体的抽象让你忽略了细节。抽象的层次越高,你可以忽略越多的细节。读者阅读一个类时可以忽略的细节越多他会越高兴。脑袋里填充太多的细节是痛苦的,所以细节越少越好。因此,将私有成员放在最后会显得更富有同情心,因为这样阻止了不必要的细节显露给读者。

本来C++程序的习惯也是像Java一样把private成员放在最开始。然而,C++社区迅速的认识到这是一个有害的规范,这个规范现在已经被修正。这里给出一个经典的C++风格指南里的注释:

有人会持反对意见,认为读者可以使用程序文档来理解类,而不是直接看源代码。这种理由似乎不成立,因为程序文档中没有相关的实现细节,这时看源代码是很有必要的。

所有的技术文档,通常都把难理解的信息放在开头,比如抽象的学术论文。为什么Java不打破这种常规呢?把私有成员放在最开头部分看起来是不是打破常规的好习惯。这种习惯似乎是sun早期的编码规范造成的。

将代码按照javadoc的顺序编排是非常好的:首先是构造方法,然后是非私有方法,最后是私有部分和方法。这样读者阅读的时候很自然的从抽象层次的高向低运动。

以上就是武汉IT培训的小编老师分享给大家的面试技巧,更多面试经验与职场信息,敬请继续浏览推荐阅读。

编辑推荐推荐阅读:

一封毕业学员的来信,竟然爆出培训行业不为人知的“黑幕”

武汉IT培训:面试官常犯的错误

武汉IT培训:面试必知的八大语言禁忌

更多分享交流,礼品领取,海量干货,请扫描下方内部资料领取二维码,一不小心就爱上IT,成为了大佬!

免责声明:本文来源于网络,由网友提供或网络搜集,仅供个人交流学习参考使用,不涉及商业盈利目的。如有版权问题,请联系本站管理员予以更改或删除。谢谢合作!

热门标签: IT面试攻略 面试常见问题 面试技巧 Java求职

猜你喜欢

推荐阅读