• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 认证考试 >> java认证 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • java软件工程师面试题
  • JAVA:使用Axis开发Web Servi..
  • String.getBytes()方法中的中..
  • 区分JAVA引用类型和原始类型
  • 剖析Java对象转为String的几..
  • 属性配置文件的使用方法
  • java中实现sql的select函数功..
  • java的“别名”以及clone机制..
  • JAVA:EJB 的异常处理的最佳做..
  • Static和Final修饰类属性变量..
  • 用Java简单实现文件分割与合..
  • 利用DES加密的算法保护Java源..
  • 在Java中轻松实现界面跳转
  • 什么是基于Java的责任链模式
  • 如何突破Java异常处理规则
  • 有效使用final关键字的准则
  • JAVA使用内部类和匿名类优化..
  • Web应用中Java的速度真相探讨..
  • Java将应用程序的设定存在哪..
  • 高手告诉你Java学习的捷径
 
 

Java程序21种经典错误实例分析

  • 日期:2008-03-05     人气:     出处:本站     作者:
  • 字体大小:
  • 小
  • 中
  • 大

  1.Duplicated Code

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

  2.Long method

  它是传统结构化的“遗毒”。一个方法应当具有自我独立的意图,不要把几个意图放在一起。

  3.Large Class

  大类就是你把太多的责任交给了一个类。这里的规则是One Class One Responsibility. 网页教学网

  4.Divergent Change

  一个类里面的内容变化率不同。某些状态一个小时变一次,某些则几个月一年才变一次;某些状态因为这方面的原因发生变化,而另一些则因为其他方面的原因变一次。面向对象的抽象就是把相对不变的和相对变化相隔离。把问题变化的一方面和另一方面相隔离。这使得这些相对不变的可以重用。问题变化的每个方面都可以单独重用。这种相异变化的共存使得重用非常困难。

  5.Shotgun Surgery Webjx.Com

  这正好和上面相反。对系统一个地方的改变涉及到其他许多地方的相关改变。这些变化率和变化内容相似的状态和行为通常应当放在同一个类中。

网页教学网

  6.Feature Envy

Webjx.Com

  对象的目的就是封装状态以及与这些状态紧密相关的行为。如果一个类的方法频繁用get 方法存取其他类的状态进行计算,那么你要考虑把行为移到涉及状态数目最多的那个类。

网页教学网

  7.Data Clumps

Webjx.Com

  某些数据通常像孩子一样成群玩耍:一起出现在很多类的成员变量中,一起出现在许多方法的参数中,这些数据或许应该自己独立形成对象。

  8.Primitive Obsession

Webjx.Com

  面向对象的新手通常习惯使用几个原始类型的数据来表示一个概念。譬如对于范围,他们会使用两个数字。对于Money,他们会用一个浮点数来表示。因为你没有使用对象来表达问题中存在的概念,这使得代码变的难以理解,解决问题的难度大大增加。好的习惯是扩充语言所能提供原始类型,用小对象来表示范围、金额、转化率、邮政编码等等。

  9.Switch Statement 网页教学网

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

  10. Parallel Inheritance Hierarchies

  并行的继承层次是shotgun surgery的特殊情况。因为当你改变一个层次中的某一个类时,你必须同时改变另外一个层次的并行子类。

  11. Lazy Class

  一个干活不多的类。类的维护需要额外的开销,如果一个类承担了太少的责任,应当消除它。 网页教学网

相关文章
  • Javascript文档对象模型(DOM)实例分析
  • 网页设计应该注意出现的错误
  • Ora-00600 4194错误的解决方法
  • Oracle操作中常见的错误和解决方法
  • Oracle非法数据库对象引起的错误
  • Linux内核补丁AMD旁路转换缓冲(TLB)错误
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号