写Java程序最容易犯的21种错误是怎样的

技术写Java程序最容易犯的21种错误是怎样的写Java程序最容易犯的21种错误是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。写Java程序最容易犯

写Java程序最容易犯的21种错误是什么?我相信很多没有经验的人都不知所措。为此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

编写Java程序最容易犯的21种错误实例分析

1.Duplicated Code

代码重复几乎是最常见的气味。他也是《重构》的主要目标之一。代码重复往往来自于复制粘贴的编程风格相应的OAOO是一个好系统的重要标志。  2.Long method

它是传统结构的遗产。一个方法应该有自我独立的意图。不要把几个意图放在一起。

3.Large Class

一个大班意味着你给了一个班太多的责任。这里的规则是一级一责。

4.Divergent Change

一个班级内容的变化率是不一样的。有的状态每小时换一次,有的状态几个月一年才换一次;有些州因为这个原因而改变,有些州因为其他原因而改变一次。面向对象的抽象是把相对不变性和相对变化分开。将问题的一个方面与另一个方面分开。这使得这些相对不变的可以重复使用。变更的每个方面都可以单独重用。这些不同变化的共存使得重用变得非常困难。

5.Shotgun Surgery

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

6.Feature Envy

对象的目的是封装与这些状态密切相关的状态和行为。如果一个类的方法经常使用get方法来访问其他类的状态进行计算,那么您应该考虑将行为移动到涉及状态数量最多的类。  7.Data Clumps

有些数据通常像孩子一样分组使用:它们一起出现在许多类的成员变量和许多方法的参数中。也许这些数据应该独立地形成对象。

 8.Primitive Obsession

面向对象的新手通常习惯于使用几种原始类型的数据来表示一个概念。例如,对于范围,它们将使用两个数字。对于货币,他们会用一个浮点数来表示。因为不使用对象来表达问题中的概念,使得代码难以理解,解决问题的难度大大增加。一个好习惯是扩展语言可以提供的原语类型,用小对象来表示范围、金额、转化率、邮政编码等等。

 9.Switch Statement

基于常量的切换语句是OO的敌人,您应该将它们更改为子类、状态或策略。  10. Parallel Inheritance Hierarchies.

平行的继承层次是霰弹枪手术的特例。因为当您在一个级别中更改一个类时,您必须同时更改另一个级别的并行子类。

 11. Lazy Class

没什么工作的班级。维护一个类需要额外的开销。如果一个班级承担的责任太少,就应该被淘汰。  12. Speculative Generality

一个类实现了以前从未使用过的功能和通用性。通常,这样的类或方法的唯一用户是testcase。不要犹豫删除它。  13. Temporary Field

对象的属性可能只有在某些情况下才有意义。这样的代码将很难理解。设置一个特殊的对象来保存这样的孤立属性,并将与它相关的行为移到这个类中。最常见的情况是,特定的算法需要一些仅对该算法有用的变量。

 14. Message Chain

当客户从一个对象向另一个对象请求,然后客户从另一个对象向另一个对象请求,再从另一个对象向另一个对象请求,以此类推时,就会出现消息链。此时,您需要隐藏任务。

15. Middle Man

对象的基本特征之一是封装,您经常发送它来实现封装。但是这一步不能走太远。如果你发现一个类接口一半以上的方法都是分派的,你可能需要去掉这个中间人。

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种错误是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/94838.html

(0)

相关推荐

  • 如何与虚拟机交互文件

    技术如何与虚拟机交互文件这篇文章将为大家详细讲解有关如何与虚拟机交互文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。利用虚拟机传输文件的方法:使用FTP协议使用磁盘工具使用SMB协议

    攻略 2021年11月20日
  • 首页css

    技术首页css 首页cssbody{ background-color: #CCCCCC;}.content ul{ padding-left: 0;}.content ul li{ display:

    礼包 2021年10月27日
  • 怎么管理mysql二进制日志

    技术怎么管理mysql二进制日志本篇内容主要讲解“怎么管理mysql二进制日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么管理mysql二进制日志”吧!

    攻略 2021年11月18日
  • python閲岀殑list(python list 鏂规硶)

    技术Python中的List2怎么添加这篇文章主要介绍“Python中的List2怎么添加”,在日常操作中,相信很多人在Python中的List2怎么添加问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年12月16日
  • 送闺蜜结婚礼物排行榜,闺蜜结婚我送什么礼物比较好呢

    技术送闺蜜结婚礼物排行榜,闺蜜结婚我送什么礼物比较好呢从某种意义上而言送闺蜜结婚礼物排行榜,创意的多少取决于你为准备那礼物花了多少心思。 所以了,你可以自制礼物,比如个性电子相册、幸运星等等。当然,可以送买的礼物,但需要

    生活 2021年10月21日
  • 布局标签,结构化语义标签)

    技术布局标签,结构化语义标签) 布局标签(结构化语义标签)注意,关注的是语义,而不是样式的区别,下面的这些标签所展示出来的样式都是一样的,都是H5新增的一些标签,当我们遇到这些标签的时候就能够通过语义知

    礼包 2021年12月10日