了解下JAVA的寻求代码质量 - 用代码器度举行重构
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?在我上中学的时分,有一名英语教员说:“写作就是重写他人已重写过的工具。”直到年夜学,我才真正了解了他这句话的意义。并且,当我盲目地接纳这个理论的时分,就入手下手喜好上了写作。我入手下手为我写的工具自大。我入手下手真正在乎我的表达体例和要转达的内容。
当我入手下手开辟职员生活时,我喜好浏览有履历的专家编写的手艺书本,并且想晓得为何他们花这么多工夫编写代码。当时,编写代码看起来是件简单的工作——有些人(老是比我级别高的人)会给我一个成绩,而我会用任何可行的办法办理它。
直到我入手下手与其他开辟职员互助年夜型项目,才入手下手了解我的妙技的真正意义地点。我也就在这个时分起,入手下手无意识地体贴我编写的代码,乃至体贴起其他人编写的代码。如今我晓得了,假如不注重代码质量,那末早晚它们会给我造成一团乱麻。
我名顿开的一刻呈现在1999岁尾,当时我正在浏览MartinFowler那本影响严重的书Refactoring:ImprovingtheDesignofExistingCode(重构:改善现有代码的计划,这本书对一系列重构形式举行分类,并由此创建了重构的大众辞汇。在此之前,我一向都在重构我的代码(大概其别人的代码),但是却不晓得本人做的就是重构。如今,我入手下手为我编写和重构的代码感应加倍自豪,由于我做的事情恰是在增进代码的编写体例并让它们往后更容易保护。
甚么是重构?
依照我的概念,重构就是改善已改善的代码的举动。实践上,重构是个永一直止的代码编写历程,它的目标是经由过程布局的改善而进步代码体的可保护性,但却不改动代码的全体举动。主要的是要记着重构与重写代码分明分歧。
重写代码会修正代码的举动乃至合约,而重构坚持对外接口稳定。关于重构办法的客户机来讲,看不到区分。事变像之前一样事情,可是事情得更好,次要是由于加强的可测试性大概分明的功能提拔。
自动和主动重构
那末成绩就酿成了“我怎样才干晓得甚么时分该举行重构呢?”一段代码的可保护性是个客观的成绩。可是,我们中的多半人城市发明,保护本人编写的代码要比保护其别人编写的代码简单很多。但在这点上也有争议——在全部职业生活中保护本人的代码是最年夜应战。没有几个真实的“代码牛仔”充足侥幸地可以不休地变更事情,而不用修正其别人的代码。关于我们中的多半人来讲,必须保护其别人的代码恰好是程序员生存的一部分。决意代码是不是必要重构的办法,一般是客观的。
可是,也有大概客不雅地判别代码是不是应该重构,不管是本人的代码仍是他人的代码。在这个系列后面的文章中,我先容了怎样用代码器度客不雅地测试代码质量。实践上,能够用代码器度很简单地找出大概难以保护的代码。一旦客不雅地判别出代码中有成绩,那末就能够用便利的重构形式改善它。
老是运转测试用例!
重构他人编写的代码的法门是不要把它弄得更糟。在我重构生活的初期,学到的一件事就是在修正一些工具之前具有一个测试用例很主要。我是经由过程艰辛的一夜,在我本人收拾得很好的重构办法中苦苦寻找,只为找到一个我不当心破坏的他人编写的事情一般的代码以后学到这个教导的,不当心损坏的缘故原由就在于重构之前没有对应的测试用例。请注重我的告诫,在本人举行重构之前,老是要运转测试用例!
提取办法形式
MartinFowler的书出书以后的几年中,增添了很多新的重构形式分类;但是,迄今为止最简单进修的形式,也多是最无效的形式,仍旧是提取办法(ExtractMethod)形式。在这个形式中,办法的一个逻辑部分被移除,并被付与本人的办法界说。如今被移走的办法体被新办法的挪用取代,如的UML图所示:
.提取办法形式理论
<br>
提取办法形式供应了两个关头优点:
本来的办法如今更短了,因而也更简单了解。
移走并放在本人办法中的逻辑表现在更简单测试。
<p>
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 是一种语言,用以产生「小应用程序(Applet(s)) 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 Java是一种计算机编程语言,拥有跨平台、面向对java 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
页:
[1]