开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 2459|回复: 0

[讨论] Java程序员如何在编码中减少bug存在

[复制链接]

0

精华

0

贡献

2

赞扬

帖子
194
软币
1438
在线时间
104 小时
注册时间
2017-3-23
发表于 2017-5-3 14:57:43 | 显示全部楼层 |阅读模式
  Java编程语言在IT行业毋庸置疑是企业中不可缺少的,从Web应用到Android应用,这款语言已经被广泛用于开发各类应用及代码中的复杂功能。

  不过在编写代码时,bug永远是困扰每一位从业者的头号难题。在今天的文章中,我们将分享五项最佳实践,希望帮助大家更为轻松地减少Java开发中的bug数量。

  不要依赖初始化

  在Java中,开发者常常依赖构造函数进行对象初始化。不过这其实是一种常见误区。我们完全可以在无需调用构造函数的情况下,通过多种方式实现对象分配。

  下面来看几种常用方式:

  大家可以将所有变量声明为私有。要访问该类外的对象,大家可使用GET与SET方法。

  对每个对象,编写一个新的私有boolean变量并对其进行初始化。

  编写一个非构造函数类,其将确保每个对象会在接受调用之前进行初始化。

  避免使用内部类

  一般来讲,开发者会在同一软件包内其它类需要时使用内部类。这些内部类通常可供同一软件包内全部类进行访问,由此可能引发的问题在预定义代码范围部分已经提到。因此,同样请仅在必要时使用内部类。

  保护类、方法与变量

  在代码当中,类、方法与变量分为私有与公共两类。私有类无法轻松进行访问,这使其成为代码中的高安全性点。不过公共方法与变量则易于方法,也因此常常成为攻击突破口。因此,请尽可能限制其范围。

  请记住,只在必要时开放类、方法与变量。

  永远对范围进行预定义

  大多数开发者完全依赖于软件包自身的范围设定,事实上我们应当坚持对代码范围进行预定义。很多类本身并非完全封闭,这意味着攻击者能够对其施以攻击。黑客可以利用单一漏洞插入自己的类,进而从代码中提取敏感信息。JVM在默认情况下即不会封闭,不过允许大家在该软件包内进行类封闭。

  确保类不可克隆

  Java编程提供一项功能,用于在需要时对自有类进行克隆。然而这项功能往往被黑客所利用,其能够使用Java.lang.Clone <http://www.yidianzixun.com/home?page=channel&keyword=Clone>able从代码中复制代码实例并窃取必要信息。

  要解决这个问题,大家只需要在代码中的每个类中添加以下代码。

  public?final?void?clonethrows?Java.lang.CloneNotSupportedException?{ thrownewJava.lang.CloneNotSupportedException; }

  如果大家希望自己的class具备可克隆性,同时仍然尽可能避免安全问题,那么则可自行定义克隆方法,并将其设置为final。

  如果大家在自己的某个超类中使用了nonfinal克隆方法,则请按以下方式定义该方法:

  public?final?void?clone?throwsJava.lang.CloneNotSupportedException?{super.clone; }

  当然,没人能100%掌握Java编程的全部奥秘,但上述编程原则及实践,能够帮助大家更为有效地降低代码内bug数量,想要知道更多相关内容关注“动力节点Java学院”微信公众号获取,想加入Java开发行业,现在动力节点Java远程基础班免费赠送学习名额,对于想学Java的同学无疑是好消息,机会就在眼前,快来报名吧,名额有限,先到先得。

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-5-14 22:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表