共计 1450 个字符,预计需要花费 4 分钟才能阅读完成。
随着工夫的推移,Java 曾经成为软件开发中风行的编程语言。尽管 java 比 C ++ 或 C ++ 更受欢迎,但这种编程语言依然存在问题。上面是开发人员可能犯的七个 Java 开发谬误,以及如何防止这些谬误。
遗记在代码中加“Break”
Paper fellows and Australian help 的技术作家奥斯汀·莫登(Austin Molden)说:“遗记‘break 中断’局部可能会对编码无害。”,因为遗记代码中的这一部分会使程序先写“0
”,而后写“1
”,并会遍历整个“switch
”语句,直到最初达到“break
”。并且,在生产过程中可能损坏代码之前,不要疏忽该谬误。因而,不要遗记“break
”在代码中须要的任何地位应用关键字。“
不应用右大括号
花括号 {}
用于编码({
和 }
)有关上和敞开代码的办法。许多开发人员,尤其是老手,偏向于遗记应用右大括号敞开代码。尽管编译器和古代 IDE 都很容易发现这个谬误,但程序员依然须要留神是否短少右大括号。记住这两个大括号的最好办法是在在把代码放进去之前。
让门敞开,以防内存透露
仅仅因为 Java 应用主动内存治理,并不意味着它在保留内存时是完满的。
内存调配易受内存透露的影响。长久对象援用存在问题,因为垃圾回收器无奈在对象仍有援用的状况下革除对象。这些援用是通过定义一个蕴含某些对象的动态字段的类创立的。在汇合类“抛弃”示意它永远不会被收集。或者,内存透露可能指一组互相援用的对象,导致循环依赖,并使垃圾收集器无奈确定它们是否须要。无论哪种形式,内存透露都可能导致对象耗费内存。
为了避免内存透露,请尝试“pollLast
”办法,该办法返回元素并将其从队列中删除。
不解决 Exceptions 状况
另一个 Java 开发谬误是不解决 Exceptions 异样。尽管疏忽异样很有诱惑力,但解决异样是一个更好的主见。与其疏忽异样,不如尝试:
- 转述异样
- 向日志中增加音讯
- 向用户显示谬误对话框
做这些事件能够让其余开发人员晓得为什么异样没有失去解决。
比拟将(==)与“.equals”混同
==
运算符和 equals()
办法是两个不同的货色,只管它们有显著的相似性。
==
equals()
仅当间接比拟两个对象时才应用 ==
运算符。除此之外,在有意义地比拟两个对象时,请应用 equals()
办法。
非参数化泛型类型
泛型类型击败了原始类型,因为原始类型既不是参数化的,也不是类 R 的动态成员(换句话说,不是从 R 的超类或超接口继承的)。自 1.5 版以来,泛型编程曾经将 Java 改良到了参数化和平安的水平,从而使必要的信息不会无心中暗藏在代码中。只管编译器能够从原始类型中发现错误,但应用泛型类型依然很重要,这样就能够立刻发现不统一,并且不会毁坏类型零碎。
违反契约
“代码 Contracts——无论是来自规范库还是第三方供应商——都能够供开发人员参考,”Theather roo 和 State of writing 的商业博客作者 Jorja Gilfillan 说。“与其余任何货色一样,编码也有一套规定,开发人员应该恪守。”
违反 Contracts 契约有时可能会产生有害的影响,并可能导致以下负面后果:
- 危害生产的错误代码
- 谬误的用户界面行为
- 谬误的数据报告
- 数据失落
- 应用程序性能差
Gilfillan 补充道:“最好是严格遵守契约,这样就不会毁坏代码中的任何内容。只管有些谬误乍一看仿佛有害,但千万不要让它们持续存在。”
论断
与任何其余编程语言一样,Java 也有其优缺点。
最好的方法是抵赖代码中的任何和所有 Java 开发谬误,并立刻修复它们,以便代码可能高效运行。