当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

Java程序最简单犯的21种错误实例解析[Java编程]

赞助商链接



  本文“Java程序最简单犯的21种错误实例解析[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1.Duplicated Code

代码反复几近是最常见的异味了.他也是Refactoring的主要目标之一.代码反复往来往自于copy-and-paste的编程气势.与他相对应OAOO是一个好系统的重要标志.

2.Long method

它是传统构造化的“遗毒”.一个办法该当具有自我独立的企图,不要把几个企图放在一同.

3.Large Class

大类就是你把太多的责任交给了一个类.这里的法则是One Class One Responsibility.

4.Divergent Change

一个类里面的内容改变率差别.某些状况一个小时变一次,某些则几个月一年才变一次;某些状况因为这方面的缘由发生改变,而另一些则因为其他方面的缘由变一次.面向对象的抽象就是把相对不变的和相对改变相断绝.把问题改变的一方面和另一方面相断绝.这使得这些相对不变的可以重用.问题改变的每个方面都可以单独重用.这种相异改变的共存使得重用非常艰难.

5.Shotgun Surgery

这恰好和上面相反.对系统一个地方的改变触及到其他很多地方的相关改变.这些改变率和改变内容类似的状况和行为普通该当放在同一个类中.

6.Feature Envy

对象的目的就是封装状况以及与这些状况精密相关的行为.假如一个类的办法频繁用get 办法存取其他类的状况举行计算,那么你要考虑把行为移到触及状况数目最多的那个类.

7.Data Clumps

某些数据普通像孩子一样成群玩耍:一同呈目前很多类的成员变量中,一同呈目前很多办法的参数中,这些数据大概应当自己独立形成对象.

8.Primitive Obsession

面向对象的新手普通习惯利用几个原始范例的数据来表示一个概念.比方关于范围,他们会利用两个数字.关于Money,他们会用一个浮点数来表示.因为你没有利用对象来表达问题中存在的概念,这使得代码变的难以理解,办理问题的难度大大增添.好的习惯是扩大语言所能供应原始范例,用小对象来表示范围、金额、转化率、邮政编码等等.

9.Switch Statement

基于常量的开关语句是OO 的大敌,你该当把他变成子类、state或strategy.

10.Parallel Inheritance Hierarchies

并行的担当层次是shotgun surgery的特别情形.因为当你改变一个层次中的某一个类时,你必须同时改变别的一个层次的并行子类.

11.Lazy Class

一个干活不多的类.类的保护需求额外的开销,假如一个类承当了太少的责任,该当消除它.

12.Speculative Generality

一个类实现了从未用到的功效和通用性.普通这样的类或办法唯一的用户是testcase.不要犹豫,删除它.

13.Temporary Field

一个对象的属性大概只在某些情形下才有意义.这样的代码将难以理解.专门成立一个对象来持有这样的孤儿属性,把只和他相关的行为移到该类.

14.Message Chain

消息链发生于当一个客户向一个对象要求另一个对象,然后客户又向这另一对象要求另一个对象,再向这另一个对象要求另一个对象,如此如此.这时,你需求躲藏分配.

15.Middle Man

对象的基本特点之一就是封装,而你常常会通过度配去实现封装.但是这一步不能走得太远,假如你发现一个类接口的一大半办法都在做分配,你大概需求移去这此中间人.---www.bianceng.cn

16.Inappropriate Intimacy

某些类彼此之间太密切,它们耗费了太多的时间去砖研别人的私有部份.对人类而言,我们大概不该该太假端庄,但我们该当让自己的类严峻服从禁欲主义.

17.Alternative Classes with Different Interfaces

做相同事情的办法有差别的函数signature,一致把它们往类层次上移,直至协议一致.

18.Incomplete Library Class

要成立一个好的类库非常艰难.我们大量的程序工作都基于类库实现.但是,如此遍及而又相异的目标对库构建者提出了尖刻的要求.库构建者也不是万能的.有时刻我们会发现库类无法实现我们需求的功效.而直接对库类的改正有非常艰难.这时刻就需求用各种手段举行Refactoring.

19.Data Class

对象包含状况和行为.假如一个类只有状况没有行为,那么必定有什么地方出问题了.

20.Refused Bequest

超类传下来很多行为和状况,而子类只是用了此中的很小一部份.这普通意味着你的类层次有问题.

21.Comments

常常认为要写很多注释表示你的代码难以理解.假如这种感受太多,表示你需求Refactoring.


  以上是“Java程序最简单犯的21种错误实例解析[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .