java认证:Java开发者需要注意的十条法则Java认证考试

文章作者 100test 发表时间 2009:05:22 21:53:25
来源 100Test.Com百考试题网


  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而不是回忆实际的代码是什么。在一个地方不断的修改要比在所有代码中寻找要容易得多。
  5.不要发明自己的框架结构—有数以千计的框架结构而其大多数都是开放源。许多框架结构是被用在数以千计的应用程序中的优秀的解决方案。至少在表面我们需要用上新的框架结构。其中最好的也是广发应用的框架结构的例子就是Struts.这个开放源web结果框架是一个非常好的候选者来用于web-based 应用程序。请不要用自己版本的Strut,你将会在尝试中死去。但是你必须记住规则2—别把事情复杂化。如果你的应用程序要开发3个screen-请不要用Struts,目前还没有像这样的应用程序的“控制”需求。
  6.要对打印线和字符串串联说“不”—我知道在以调试为目,开发者喜欢到处在我们觉得适合的地方添加System.out.println.又自言自语的说一会儿我们会删除这些的。但是我们总是忘记删除这些代码行或者不想去删除它们。我们用System.out.println来进行测试,为什么我们在测试完成后才触及这些代码呢?我们可能会删除一行代码当我们确实要这么做的时候!只要你不要低估System.out.println 的破坏,看以下的代码:
  public class BadCode {
  public static void calculationWithPrint(){
  double someValue = 0D.
  for (int i = 0. i <. 10000. i ) {
  System.out.println(someValue = someValue   i).
  }}
  public static void calculationWithOutPrint(){
  double someValue = 0D.
  for (int i = 0. i <. 10000. i ) {
  someValue = someValue   i.}}
  public static void main(String [] n) {
  BadCode.calculationWithPrint().
  BadCode.calculationWithOutPrint().
  }}

相关文章


JAVA资格认证:Java声音技术简析Java认证考试
java认证基础入门:Java.util.Timer的使用Java认证考试
java认证:JSR310新Java日期_时间APIJava认证考试
java认证:Java开发中类隐藏及应用场景分析Java认证考试
java认证:Java开发者需要注意的十条法则Java认证考试
JAVA资格认证:Java读取配置文件的几种方法Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛