精灵巫婆 发表于 2015-1-18 11:25:50

发布一篇诊断Java代码 - 计划“可测试的”使用程序

Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.
当计划年夜型程序的时分,您必需时候把稳分歧计划选项对诸如功能和可扩大性如许的特性的影响。跟着软件产物的日渐庞大及其无所不在的部署,软件的“可测试性”同样成了更主要的思索事项。
完全测试代码的主要性是明显的。花在编写测试和测试代码上的工夫和精神给您带来的报答是保护本钱的年夜幅下降。
但是,除非您很当心,不然您花在测试代码上的精神大概会起首到达花在编写代码上的精神的几倍!我曾看到程序员们同心合力地对他们的全体代码举行单元测试,了局花在下面的工夫使年夜多半人都以懊丧而了结。
侥幸的是,没有需要如许。在您计划软件的时分使用一些基础准绳,编写易于测试、乃至使测试成为兴趣的代码是大概的。
跟别的编码准绳一样,这些准绳也不是无可置疑或不成改动的教条。偶然候冲破这些划定规矩也是需要的。因而,了解每条准绳面前的念头和判别什么时候这些念头不合用(或应让位给更体贴的成绩)的才能是很主要的。
准绳1.到GUI视图的表面往
尽量把代码移到GUI视图的表面。然后各类GUI举措就可以成了模子上的复杂办法挪用。为何您必要如许做呢?
对GUI测试者来讲,经由过程办法挪用测试功效比直接地测试功效简单的多。
另外一个优点是它使修正程序功效而不影响视图变的更简单。
固然,视图中也大概存在毛病。在幻想情形下,对程序的测试将同时反省模型和视图。
准绳2.利用范例举行毛病反省
范例是您的伴侣D尽量多地用范例体系主动反省毛病。
范例能在程序运转之前主动捕获程序中的毛病。没有静态范例反省的话,类型毛病将作为损坏者停留在您的程序中,直到得当的实行路径可巧把它揭发出来为止。
最年夜限制地发扬利用范例的优点是辣手的。一般,一组数据布局能够在一个笼统级别上一同利用,大概被分出,成为一个单一的、更高笼统级其余一个新的相干数据范例。
现实上,编程言语本身的汗青能够当作是能够编程的笼统级其余渐渐进步。汇编言语供应了比特到整数和浮点数的笼统。接上去是纪录和函数笼统,然后又是诸如对象、类、线程和非常如许的笼统。
在每笼统级别上,到达与更初级别笼统分歧的功效是大概的,但那本色上仅仅是泯灭更多精神,冒更多的毛病风险。
在面向对象言语(别的古代言语也一样)中,一个程序员在计划笼统上有很年夜的天真性。在哪一个笼统级别上计划程序就成了基于折中的决意,好比由笼统级别供应的更多的强健性和因为不克不及在更低笼统级别上事情而带来的表达性(偶然是功能)的丧失。
一般,初级别笼统带来的强健性和复杂性的代价很少被别的思索事项凌驾。
准绳3.利用调治器制止“妨碍线路”(faultline)
我用“妨碍线路”来指自力组件之间的接口,自力组件之间和组件与其响应子组件之间比拟,很少有交互。这类妨碍线路的一个典范示例是GUI视图和它的模子之间的接口。别的示例包含在编译器中处置的分歧阶段之间的接口或操纵体系的内核和用户界面之间的接口。
找出程序的妨碍线路,然后器具有转发功效的调治器疾速会见聚合组件。
沿着妨碍线路断绝测试每一个组件一般更简单。但假如每一个组件表露的对象有良多,大概组件中您想测试的一些对象只要经由过程多个嵌套援用才干会见,那末测试就会变的很有趣。
不必断绝测试,而是具有您在它下面挪用您想测试的各类办法的单个调治器对象一般是有匡助的。这个对象然后能把这些办法挪用转发到得当的中央。
沿着不异线路,计划和本人的测试代码串连在一同的程序组件接口是无益的。这将使您把注重力会合在使这些接口尽量复杂上。
<p>
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)

第二个灵魂 发表于 2015-1-21 06:18:19

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

小魔女 发表于 2015-1-30 09:28:02

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

莫相离 发表于 2015-2-5 14:50:58

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

山那边是海 发表于 2015-2-16 09:57:56

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

分手快乐 发表于 2015-2-17 07:33:43

是一种使网页(Web Page)产生生动活泼画面的语言

若天明 发表于 2015-3-5 16:53:00

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

兰色精灵 发表于 2015-3-6 21:28:29

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

谁可相欹 发表于 2015-3-10 22:13:44

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

再见西城 发表于 2015-3-11 08:15:02

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

精灵巫婆 发表于 2015-3-17 23:52:22

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

老尸 发表于 2015-3-25 07:54:06

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
页: [1]
查看完整版本: 发布一篇诊断Java代码 - 计划“可测试的”使用程序