当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 虽然refactoring几乎可以随时进行,然而,按照我们关于两顶帽子的原则,在某些场合下,refactoring的介入显得更加实际、有意义、富有成效。
 

 

    摘要:关于fault modeling using the program dependence graph 的读书笔记(3) mse 2004,perdubug,2004.6.1 注:fault modeling using the program dependence graph是一篇介绍关于软件故障分类和故障播撒技术的文献. d.dataflow testing(数据流测试) 11. dataflow testing consi......
 ·sql中union 与 union all 的区别    »显示摘要«
    摘要:sqlserver2000中union与union all的区别 union 运算符: 将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。 使用 union 组合两个查询的结果集的两个基本规则是: 所有查询中的列数和列的顺序必须相同。 数据类型必须兼容。 这种多结果的查询组合为单一结果集在实际中应用的非常方便。但在应用中也有有着问题,如下实例可以进一步说明问题。 问题描述......


refactoring Patterns第七部分
虽然refactoring几乎可以随时进行,然而,按照我们关于两顶帽子的原则,在某些场合下,refactoring的介入显得更加实际、有意义、富有成效。 另外,在最后进入refactoring实践之前,我把kent beck与martin fowler给我们的忠告与建议放在这里。这些内容,特别是code smell与命名规则不但对我们进行refactoring具有很强的实践意义。同时,他们也促使我们对很多oo设计与编码的原则进行更多的思考。

refactoring 应用的场合

【相关文章:C#中如何对当前窗体进行打印预览

增加功能 【扩展阅读:.NET – 深入系统编程 - Part

另一个原因是原来代码的结构很难直接扩展,可能是因为一个类与另外一个类的绑定太紧,或者是他使用了大量的case语句,或者是有一些重复的代码让你觉得加入你的代码会使结构更差。总而言之,直接加入新功能不是太方便。这时候,你就需要refactoring,使得旧的代码在能让旧的test case通过的情况下,让新的代码加入更加方便、快捷。 【扩展信息:在你的服务器端代码中使用线程和创建异步处

如果你的代码不需要增加新的功能,那么你几乎没有必要对他进行refactoring。增加功能是进行refactoring最常见的起因。通常,refactoring的第一个目标就是为了让代码更容易理解。refactoring不仅仅可以使难以理解的代码更加清晰,他也可以使你对它的理解呈现一种交互状态,你与代码的交互。理解了,新的功能就很容易加入。

重用

重用可以说是增加功能的一个特例。因为这是oo增加功能最主要的方法。但这里有一些差别。

如果你的代码是一个框架,那么当把代码交给其他人使用时,你必须重点考虑框架的重用方法。譬如,你想在框架之上增加一层facade,这时候,你可能需要refactoring一些内部类,让这个facade的结构更容易加入。

对框架refactoring可能需要是一个反馈的过程。因为框架一旦稳定就可能长期存在,一般你不会直接对这个框架增加功能。这时,不同应用程序对框架使用经验的积累可能使得你的refactoring具有更加明确的目标,更加深层次的抽象。

修正bug

bug产生的原因有很多。可能是你对解决的问题理解不够,也可能是程序的代码过于纷乱。当你的代码结构不是很清晰时,bug往往隐藏在代码之中,使你很难发现。应用refactoring让代码结构结构更清晰的同时,也使得bug自动浮出水面。

refactoring所追求的目标与过程往往使得代码的bug无处遁形。eric e. allen在ibm中developerworks的bug pattern中的一个模式就是copy-and-paste方法造成代码重复,从而产生bug的一个例子。这个 rogue title pattern是一个非常常见的bug例子,当你修正了程序中一个bug时,你发现程序运行的结果是你明明已经修正的bug还在作怪。究其原因,就是程序员在实现一个功能的时候把一段代码复制过去,稍加修改,就成为一个新的函数。你修改了一个地方,但却忘了另外一个地方。

refactoring力求排除重复代码,如果有这样的bug,在refactoring以后,一次修改就能纠正所有的问题。

code review

review可以使得专家知识传播到整个开发队伍。他们能够帮助更多的人理解一个大系统更多方面的问题。它们对于编写清晰的代码也有很好的帮助。俗话说得好,三个臭皮匠顶一个诸葛亮,review也使得你能够接受更多其他人的好意见与想法,从而使你的设计与代码更加合理。


...   下一页
    摘要:前 言 许多开发者都利用设计模式来解决重复性问题。伴随着新技术的涌现,例如ria,你将有机会构建更加贴近用户需求的应用程序。这样一来,部分描述传统基于服务器的应用程序的模式将会变得更注重客户端的能力。这样的变革会是逐步演进的,幸运的是,现今所用到的技术同样适用这一新模式。这篇文章探究了传统基于服务器的应用程序与ria模式之间的差别,也阐述了它们共有的高阶设计模式。稍后的文章重点将在特殊的设计模式上,以及如何建立富客户端应用程序。 为什么丰富? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE