随着时间的推移,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开发错误,并立即修复它们,以便代码能够高效运行。