下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——java程序易犯的21种错误例子java程序易犯的21种错误例子
人生在勤,不索何获,以下是我为大家探寻整理java程序易犯的21种错误例子,梦想能给大家带来扶助!更多精彩内容请实时关注我们我!
1.DuplicatedCode
代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志。
2.Longmethod
它是传统布局化的"遗毒'。一个方法应当具有自我独立的意图,不要把几个意图放在一起。
3.LargeClass
大类就是你把太多的责任交给了一个类。这里的规矩是OneClassOneResponsibility.
4.DivergentChange
一个类里面的内容变化率不同。某些状态一个小时变一次,某些那么几个月一年才变一次;某些状态由于这方面的理由发生变化,而另一些那么由于其他方面的理由变一次。面向对象的抽象就是把相对不变的和相对变化相隔离。把问题变化的一方面和另一方面相隔离。这使得这些相对不变的可以重用。问题变化的每个方面都可以单独重用。这种相异变化的共存使得重用分外困难。
5.ShotgunSurgery
这正好和上面相反。对系统一个地方的变更涉及到其他大量地方的相关变更。这些变化率和变化内容好像的状态和行为通常应当放在同一个类中。
6.FeatureEnvy
对象的目的就是封装状态以及与这些状态精细相关的行为。假设一个类的方法频繁用get方法存取其他类的状态举行计算,那么你要考虑把行为移到涉及状态数目最多的那个类。
7.DataClumps
某些数据通常像孩子一样成群玩耍:一起展现在好多类的成员变量中,一起展现在大量方法的参数中,这些数据或许理应自己独立形成对象。
8.PrimitiveObsession
面向对象的新手通常习惯使用几个原始类型的数据来表示一个概念。譬如对于范围,他们会使用两个数字。对于Money,他们会用一个浮点数来表示。由于你没有使用对象来表达问题中存在的概念,这使得代码变的难以理解,解决问题的难度大大增加。好的习惯是扩展语言所能供给原始类型,用小对象来表示范围、金额、转化率、邮政编码等等。
9.SwitchStatement
基于常量的开关语句是OO的大敌,你应当把他变为子类、state或strategy.
10.ParallelInheritanceHierarchies
并行的继承层次是shotgunsurgery的.特殊处境。由于当你变更一个层次中的某一个类时,你务必同时变更另外一个层次的并行子类。
11.LazyClass
一个干活不多的类。类的维护需要额外的开销,假设一个类承受了太少的责任,应当消释它。
12.SpeculativeGenerality
一个类实现了从未用到的功能和通用性。通常这样的类或方法唯一的用户是testcase.不要踌躇,删除它。
13.TemporaryField
一个对象的属性可能只在某些处境下才有意义。这样的代码将难以理解。特意建立一个对象来持有这样的孤儿属性,把只和他相关的行为移到该类。最常见的是一个特定的算法需要某些只有该算法才有用的变量。
14.MessageChain
消息链发生于当一个客户向一个对象要求另一个对象,然后客户又向这另一对象要求另一个对象,再向这另一个对象要求另一个对象,如此如此。这时,你需要暗藏分派。
15.MiddleMan
对象的根本特性之一就是封装,而你经常会通过分派去实现封装。但是这一步不能走得太远,假设你察觉一个类接口的一大半方法都在做分派,你可能需要移去这个中间人。
16.InappropriateIntimacy
某些类相互之间太亲近,它们花费了太多的时间去砖研别人的私有片面。对人类而言,我们可能不理应太假正经,但我们应当让自己的类严格遵守禁欲主义。
17.AlternativeClasseswithDifferentInterfaces
做一致事情的方法有不同的函数signature,一致把它们往类层次上移,直至协议一致。
18.IncompleteLibraryClass
要建立一个好的类库分外困难。我们大量的程序工作都基于类库实现。然而,如此广泛而又相异的目标对库构建者提出了苛刻的要求。库构建者也不是万能的。有时候我们会察觉库类无法实现我们需要的功能。而直接对库类的修改有分外困难。这时候就需要用各种手段举行Refactoring.
19.DataClass
对象包括状态和行为。假设一个类只有状态没有行为,那么断定有什么地方出问题了。
20.RefusedBequest
超
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古呼和浩特市回民中学2025年高三第三次诊断考试化学试题含解析
- 室内课程设计展板
- 数字轮廓课程设计
- Chlorfenson-Standard-生命科学试剂-MCE
- 建筑财务筹划课程设计
- 房地产职员的述职报告
- 数据库课程设计投票系统
- 基础工程课程设计指南
- 教师培训课程设计文稿
- 2023-2024学年湖南省长沙市十校高三下学期模拟检测试题一(期末考试)数学试题
- 触电事故的应急预案
- 浙江金华兰溪市部分医疗卫生事业单位公开招聘工作人员历年高频500题难、易错点模拟试题附带答案详解
- 冰雪天气里的行车安全预防交通事故保护自己与他人
- 2024年辽宁省沈阳于洪区派遣制政府雇员招聘33人高频500题难、易错点模拟试题附带答案详解
- 大题规范4 立体几何
- (1至3单元)月考试卷(试题)-2024-2025学年六年级上册数学人教版
- 2024年全国普法知识考试题库与答案
- 2024变电站无人机巡检系统规范第1部分:技术规范
- 2024-2030年中国智能酒店系统行业市场发展趋势与前景展望战略分析报告
- 七年级数学上册数学 2.3 数轴(七大题型)(解析版)
- 2024年陕西省中考道德与法治真题(A卷)(含解析)
评论
0/150
提交评论