仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 874|回复: 12
打印 上一主题 下一主题

[学习教程] JAVA教程之Java程序最简单犯的21种毛病实例剖析

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:16:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。程序|毛病  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
  超类传上去良多举动和形态,而子类只是用了个中的很小一部分。这一般意味着你的类条理有成绩。
  21.Comments
  常常以为要写良多正文暗示你的代码难以了解。假如这类感到太多,暗示你必要Refactoring.

不得不提一下的是:.net是看到java红,而开发出来的工具。
柔情似水 该用户已被删除
沙发
发表于 2015-1-20 19:10:44 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
若相依 该用户已被删除
板凳
发表于 2015-1-25 19:14:48 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
谁可相欹 该用户已被删除
地板
发表于 2015-1-30 07:33:02 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
小女巫 该用户已被删除
5#
发表于 2015-2-2 21:49:39 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
6#
发表于 2015-2-7 00:34:11 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
冷月葬花魂 该用户已被删除
7#
发表于 2015-2-11 03:03:48 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
海妖 该用户已被删除
8#
发表于 2015-2-12 02:40:09 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
兰色精灵 该用户已被删除
9#
 楼主| 发表于 2015-3-2 20:57:42 | 只看该作者
是一种为 Internet发展的计算机语言
金色的骷髅 该用户已被删除
10#
发表于 2015-3-2 21:19:20 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
精灵巫婆 该用户已被删除
11#
发表于 2015-3-11 06:17:26 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
第二个灵魂 该用户已被删除
12#
发表于 2015-3-12 10:18:43 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
因胸联盟 该用户已被删除
13#
发表于 2015-3-19 19:55:27 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表