Java开发者需要注意的十条法则

发表于:2011-5-17 09:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java
分享:

  Java开发者需要注意的十条法则,别把事情复杂化— 我以前就是这么做的而其我相信你们也一样。开发者喜欢把简单的问题用很复杂的方法来解决。我们介绍EJBs到有五个用户的应用程序中。我们完成一个框架结构那是应用程序所不需要的。

  1、给你的代码加注解

  每个人都知道这一点,但是总会有人忘记遵守。你有多少次“忘记”加注解了?的却不加文字注解有助于程序的功能性。但是一次又一你返回两星期前写的代码,结果你想不起来那是什么了!如果这个未注解的代码确实是你写的那你就是幸运的了。因为在那些代码中可以唤起你的记忆。不幸的是,大多数的时候代码是别人写的,而且他已将离开了公司!有句谚语是这样说的“自己的事情自己做”。所以为了别人或是我们自己考虑,在你的代码上加上注解吧。

  2、别把事情复杂化

  开发者喜欢把简单的问题用很复杂的方法来解决。我们介绍EJBs到有五个用户的应用程序中。我们完成一个框架结构那是应用程序所不需要的。我们添加属性文件,目标源方案到本不需要这些东西的应用程序中。为什么我们要这样做呢?一些人是不知道如何去做,而一些人故意这么做是想去学习新的东西,想让我们感兴趣。对于那些不知道如何去做的人,我建议去向经验丰富的编程人员去询问。而对于那些喜欢把应用程序设计搞复杂的人,我的建议还是要更专业一些来处理问题。

  3、记住—“少即是多”不见得是件好事

  —代码效率是件非常好的事情,但是很多情况下少写几行代码并不能提高代码工作的效率。举个简单的例子:

  • if(newStatusCode.equals("SD") && (sellOffDate == null ||  
  • todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&  
  • todayDate.compareTo(lastUsedDate)>0)) ||  
  • (newStatusCode.equals("OBS") && (OBSDate == null ||  
  • todayDate.compareTo(OBSDate)<0))){  
  • newStatusCode = "NYP";}
  •   查出“if”条件下在做什么是多么简单的事情?现在想象一下写这个代码的人,没有遵守第一个规则-给代码加注解 。如果我们把这个情况分成两个独立的if语句岂不是更简单一些么?现在看一下修改后的代码:

  • if(newStatusCode.equals("SD") && (sellOffDate == null ||  
  • todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&  
  • todayDate.compareTo(lastUsedDate)>0))){  
  • newStatusCode = "NYP";  
  • }else 
  • if(newStatusCode.equals("OBS") && (OBSDate == null ||  
  • todayDate.compareTo(OBSDate)<0))  
  • {  
  • newStatusCode = "NYP";}
  •   是不是更清晰了?是的,我们在重复一下。我们有另一个“IF” 和两个额外的括号,但是这个代码更容易读懂了!

      4、不要有难懂的代码

      开发者经常忘记这一点或是忽略故意忽略这条规则,因为通常我们都在赶时间。但是如果我们能遵守这个规则,我们就不会终止我们所处的形势了。要花多长时间去写入另外一行最后定义的静态变量代码呢?

      举个例子:

  • public class A {  
  • public static final String S_CONSTANT_ABC = "ABC";  
  • public boolean methodA(String sParam1){  
  • if (A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)){  
  • return true;  
  • }  
  • return false;  
  • }}
  •   现在每当我们需要文字“ABC”和一些变量作比较,我们可以参考A.S_CONSTANT_ABC而不是回忆实际的代码是什么。在一个地方不断的修改要比在所有代码中寻找要容易得多。

    31/3123>
    《2023软件测试行业现状调查报告》独家发布~

    关注51Testing

    联系我们

    快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

    法律顾问:上海兰迪律师事务所 项棋律师
    版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
    投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

    沪ICP备05003035号

    沪公网安备 31010102002173号