随笔分类 - 软件工程相关
摘要:首先,这篇文章只是我临时写的,之前没有给文章个整体思路,所以文章可能思路会显得有些乱,连我到现在都不知道我要写到什么时候终止。这篇文章的产生是因为看过了横刀天笑的这篇文章,在这篇文章中,作者给出了一个很好的关于代码重构的步骤,以及我们要如何重构代码,提高抽象层次,但是我对其中一点,是对Martin Fowler在《重构》一书中所提出的关于参数对象的观点一直抱有质疑。先别急着反对,也别急着回复,先继续向下看。1. 先想想Python , F#之类的函数式语言让我们先想想Python , F#之类的函数式语言(让我们暂时先把Python称之为函数式语言吧),这些函数式语言,也包括C#(从4.0开始
阅读全文
摘要:1. 从依赖倒置说起 首先,我们来看下《敏捷软件开发》中对依赖倒置的说明: a. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象。 b. 抽象不应该依赖于细节,细节应该依赖于抽象。 我们先抛开第二点来看第一点,什么叫高层模块,什么叫低层模块。在我理解来看:高层模块也就是战略性模块,业务性模块。而低层模块就是战术性模块,细节类模块。 先来看这样一段代码: 也许有人会说,这是...
阅读全文
摘要:1. 何为PDD中国是一个不擅长创造概念的国家,然而,在软件的世界里,中国却开创了一个新的名词——称之PDD。PDD——Page-Driven Develop(页面驱动开发)。2. 适从于企业的软件开发中国大多数的公司是什么开发现状我不清楚,只知道太多的人说:敏捷不适合我们,TDD不适合我们,XP不适合我们,螺旋也不适合我们。那么我们要做什么呢?我们...
阅读全文
摘要:软件发展至今,无论是编程语言,还是软件工程,乃至是互联网的趋势发展,都是飞速发展。于是,我们便迷茫于这样形形色色的语言和概念之间,无所适从。其实,我们不妨返璞归真,回到最初,让我们从语义出发,来讨论这形形色色的种种,你是否恍然大悟呢? 前文索引: 基于自然语言的软件工程和程序设计(上) 基于自然语言的软件工程和程序设计(中) 10. 面向对象与语义分析 我们都知道,面向对象是自顶向下的分...
阅读全文