按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
4。 谁动摇了你的制度? ········································· 36
5。 “那我们就开始开发吧”·································· 38
6。 组织的学问:角色 ············································· 39
7。 跟随蚂蚁。但不要栽进蚂蚁洞里。 ··················· 42
8。 “什么是增值税发票?”·································· 44
…………………………………………………………Page 8……………………………………………………………
4。 流于形式的沟通
1。 客户不会用 C ,难道就会用 UML 吗?·············· 48
2。 项目文档真的可以用甲骨文来写 ······················· 50
3。 最简沟通 ··························································· 53
4。 为不存在的角色留下沟通的渠道 ······················· 57
5。 流于形式的沟通 ················································ 60
5。 失败的过程也是过程
1。 做过程不是做工程 ············································· 63
2。 做过场 ······························································· 65
3。 实现,才是目的 ················································ 65
4。 过程不是死模型 ················································ 66
5。 “刻鹄类鹜”与“画虎类狗”·························· 69
6。 工程不是做的,是组织的 ·································· 71
6。 从编程到工程
1。 语言只是工具 ···················································· 73
2。 程序 ·································································· 75
3。 方法 ·································································· 75
4。 过程 ·································································· 76
5。 工程 ·································································· 78
6。 组织 ·································································· 80
7。 BOSS································································· 82
8。 上帝之手 ··························································· 84
…………………………………………………………Page 9……………………………………………………………
7。 现实中的软件工程
1。 大公司手中的算盘 ············································· 87
2。 回到工程的关键点············································· 92
3。 思考项目成本的经理 ········································· 94
4。 审视 AOP ·························································· 97
5。 审视 MDA ························································100
8。 是思考还是思想
1。 软件工程三个要素的价值 ·································103
2。 其实 RUP 是一个杂物箱 ···································104
3。 UML 与甲骨文之间的异同 ·······························105
4。 经营者离开发者很远,反之亦然 ······················106
5。 矛盾:实现目标与保障质量 ·····························107
6。 枝节与细节 ······················································108
7。 灵活的软件工程 ···············································110
…………………………………………………………Page 10……………………………………………………………
…………………………………………………………Page 11……………………………………………………………
第1章 编程的精义
“虽我之死,有子存焉;子又生孙,孙又生子;子又
有子,子又有孙。子子孙孙,无穷匮也。而山不加增,何
苦而不平?”
——《愚公移山》,《列子·汤问篇》
1。 编程的精义
仅仅就编程序来说,实在是一件很简单的事,甚至
可以说是一件劳力活。两千年前的寓言中,已经成就
了一位工程名家:愚公。在这位名家的身上,浓缩了
项目组织者、团队经理、编程人员、技术分析师等众
多角色的优秀素质。他的出现,远远早于计算机发展
的历史,甚至早于一些西方国家的文明史。
汤问篇中所述的愚公移山这一事件,我们看到了原
始需求的产生:
“惩山北之塞,出入之迂”
我们也看到了项目沟通的基本方式:
“聚室而谋曰”
然后,我们看到愚公确定了一个项目的目标:
…7
…………………………………………………………Page 12……………………………………………………………
第 1 章 编程的精义
“毕力平险,指通豫南,达于汉阴”
并通过研讨,择定了一个井然有序的、可以实现的
技术方案:
“扣石垦壤,箕畚运于渤海之尾”
在这个项目中,动用了三名技术人员和一名工程管
理人员:
“( 愚公) 率子孙荷担者三夫”
并获得了一名力量较弱,但满富工作激情的外协:
“邻人京城氏之孀妻,有遗男,始龀,跳往助之”
基本上,这已经描述了“愚公移山”整个工程的概
况。接下来,我们应该注意到愚公作为编程人员的基
本素质。在与“河曲智叟”的对答中,他叙述了整个
工程的实现程序:
“虽我之死,有子存焉”,这里描述了可能存在的
分支结构,即“IF ”条件判断。
“子又生孙,孙又生子;……子子孙孙,无穷匮也”,
这里描述了完成这个工程所必须的循环结构。
作为优秀的程序分析师,愚公论述了这个循环的可
行性:由于“山不加增”,所以条件“山平”必将成立
( “何苦而不平”) ,所以这不会是一个死循环。
在愚公的论述中,我们看到了编程的根本:顺序、
分支和循环。庞大若“愚公移山”这样的工程,都是
可以通过这样简单的编程来实现的。这,就是编程的
精义了。
…8
…………………………………………………………Page 13……………………………………………………………
『大道至简』
2。 会或者不会写程序的问题
我经常会被人问到“(我) 能不能学会写程序”这样的
问题。
这个问题由来以久。上溯七、八年,程序员还是少有
人从事的职业。听说的人少,真正了解的人也不多。而当
一个程序软件被装在电脑里并开始运行时,人们便开始惊
讶于程序员的厉害。所以“能不能学会写程序”甚至成了
一些人对自己的智力考评,所以便有人向我这样发问。
愚公都能明白的编程精义,那些向我发问的智叟们又
怎么会不明白呢?
…9
…………………………………………………………Page 14……………………………………………………………
第 1 章 编程的精义
所以除了先天智障或后天懒惰者,都是可以�