最新文章列表

大话重构连载19:大对象的演化过程

很好,我们终于迈出了重构的第一步,而这第一步我们瞄准了代码问题的重灾区——超级大函数。超级大函数之所以是代码问题的重灾区,就是因为它们 ...
fangang 评论(1) 有1985人浏览 2014-11-17 09:18

大话重构连载11:小步快跑是这样玩的

说了那么多,相信你对小步快跑的概念有了一个初步的印象,但理解还不是很深。让我们来看一看一个实际工作中的例子,来亲身感受一下什么是大布局 ...
fangang 评论(0) 有2104人浏览 2014-08-26 10:29

大话重构连载6:一个真实的谎言

经过前面的一番讲解,相信你已经对系统重构有了一些初步的认识了。一切的一切仿佛在告诉我们,系统重构总是与需求变更无关。但此时,我不得不告诉你这是真实的谎言。 我们的软件系统总是处于一种变化之中,并且往往是一种由浅入深、由易到难的过程。但是,当系统复杂程度发生变化时,我们应当及时调整我们的设计,来适应新的变化。然而我们没有做到这一点,所以我们的系统维护变得越来越困难。要解决我们的问题必须通过系统重构去 ...
fangang 评论(0) 有1936人浏览 2014-07-22 08:46

大话重构连载5:软件修改的四种动机

软件,自从被我们开发出来并交付使用以后,如果它运行得好好的,我们是不会去修改它的。我们要修改软件,万变不离其宗,无非就是四种动机: 1.增加新功能; 2.原有功能有BUG; 3.改善原有程序的结构; 4.优化原有系统的性能 。 第一种和第二种动机,都是源于客户的功能需求,而第四种是源于客户的非功能需求。 软件的外部质量,其衡量的标准就是客户对软件功能需求与非功能需求的满意度。它涉及到一个企业、 ...
fangang 评论(2) 有2340人浏览 2014-07-09 10:58

大话重构连载首页

《大话重构》这本书是我写的第一本书,从今天起我将通过连载的形式逐渐跟大家分享。 这本书让你: 告别游击队转变为正规军, 远离劣质代码走向精妙设计 真正明白专业级的软件开发是怎样的 真正明白重构是怎样一步一步进行的 高效重构七步曲,面对实践不卡壳 让遗留系统维护不再是你的梦魇 读完这本书以后: 需求变更不再纠结,重构让你润物细无声地容纳它们 超越代码级的重构,从各个层面深度领略重构之美 自动化测 ...
fangang 评论(9) 有7672人浏览 2014-06-18 08:59

大话重构连载1:遗留系统——软件工业时代的痛

我常常感到幸运,我们现在所处的是一个令人振奋的时代,我们进入了软件工业时代。在这个时代里,我们进行软件开发已经不再是一个一个的小作坊, ...
fangang 评论(0) 有3452人浏览 2014-06-18 08:49

我的新书终于要出来啦

我的新书《大话重构》终于要出来啦!这是一本讲咱程序员应该怎样开发高质量代码的书,它用大量精彩的故事,讲解高质量的代码是怎样一步一步开发出来,其设计的过程、心理的历程、遇到的问题、解决的思路…… 这是一本解惑的书,它通过故事向你阐述许多深邃难懂的设计难题;这又是一本故事会,它将那些枯燥的技术问题通过故事娓娓道来。它让你告别游击队转变为正规军,远离劣质代码走向精妙设计,真正明白专业级的软件开发是怎样的 ...
fangang 评论(7) 有2555人浏览 2014-04-07 16:23

做好代码复用不简单

前面我们用了那么多示例讨论了代码复用。毫无疑问,几乎所有人都明白代码复用的重要意义,知道要写好代码必须要合理地复用代码。然而,曾经有一 ...
fangang 评论(0) 有2542人浏览 2014-01-31 19:57

代码复用应该这样做(2)

以上是对一个对象中各函数间的代码复用。另一种情况是这被比较的两份或者多份代码不在同一个对象中,这应该怎么办呢?我们可以采用的办法比较多,首先一种比较直观的办法就是运用“抽取类”将共同的部分抽取到一个工具类中,为其它各类所调用。比如,看看这个例子: 我们有个遗留系统在大量地方需要获取当前服务器时间,该功能在过去版本中这样写: Date now = new Date(); 后来JDK升级以后该方法被废 ...
fangang 评论(6) 有3099人浏览 2014-01-11 11:13

小步快跑是这样玩的(下)

系统重构到这一步,我们来看看用户关于时间问候语部分的变更需求:问候需要更加精细,如中午问候“Good noon! ”、傍晚问候“Good evening! ”、午夜问候“Good midnight! ”。除此之外,用户希望在一些特殊的节日,如新年问候“Happy new year! ”、情人节问候“Happy valentine’s day! ”、三八妇女节问候“Happy women’s day! ...
fangang 评论(13) 有4195人浏览 2014-01-04 22:58

小步快跑是这样玩的(上)

软件的发展规律就是这样的,起初十分简单明了,使我们可以轻松地进行合理的设计。接着开始变更,业务变得越来越复杂,程序也随之变得越来越复杂 ...
fangang 评论(0) 有3451人浏览 2014-01-04 22:44

非计算机专业如何进入软件测试领域

  在给学员做入学评估的时候,经常会遇到很多人对职业规划是相对迷茫的。不知道如何选择“适合”自己的职业。凡事预则立,不预则废。人在职场 ...
糖糖豆豆 评论(0) 有22人浏览 2013-12-18 14:35

需求变更是罪恶之源吗?

我们身处软件工业时代这个令人振奋的时代,却面临着遗留系统这个令人尴尬的难题。事情总是这样的:软件最开初开发的时候总是非常清晰,清晰的需 ...
fangang 评论(0) 有2306人浏览 2013-12-08 10:54

软件质量基本概念

如何理解软件的质量 什么是质量? 词典的定义是:① 典型的或本质的特征;② 事物固有的或区别于其他事物的特征或本质;③ 优良或出色的程度。 ...
博文视点Broadview 评论(0) 有884人浏览 2012-11-28 09:18

如何提高代码质量(管理篇):代码复查

也许你是一位项目经理,也许你是一位项目骨干成员,或者开发小组长。在我发表“如何提高代码质量”的这一系统文章后,有许多网友都向我抱怨,说他无法把握整个项目组成员的代码质量。我想,这也是所有项目组普遍存在的问题吧,它通常表现为以下几个问题: 软件项目普遍存在的问题 1)新手。任何项目组成员都不可避免地出现新手,他们往往是刚刚从大学毕业的学生。这些新手由于软件开发时间太短,往往技术不成熟,没有形成 ...
fangang 评论(26) 有8998人浏览 2010-02-22 12:09

一堂如何提高代码质量的培训课(2)

3.可变更性 前面我提到了,软件的变更性是所有软件理论的核心,那么什么是软件的可变更性呢?按照现在的软件理论,客户对软件的需求时时刻刻在发生着变化。当软件设计好以后,为应对客户需求的变更而进行的代码修改,其所需要付出的代价,就是软件设计的可变更性。由于软件合理地设计,修改所付出的代价越小,则软件的可变更性越好,即代码设计的质量越高。一种非常理想的状态是,无论客户需求怎样变化,软件只需进行适当地 ...
fangang 评论(17) 有2215人浏览 2010-01-07 13:32

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics