几篇读后感随录

>>>  讀書—連接古今充實信仰  >>> 簡體     傳統

我看《大道至简》 

        前几日,网上流行一本书,是周爱民的《大道至简》,我看了名字后不削一顾,名字起得装模做样,后来项目经理给我推荐了这本书,并发了电子版本到我的邮箱,再后来,公司里有人开始讨论这本书了,于是引起了我的好奇心,反正打游戏也是虚度光阴,不如看看这本书写了些什么东西。看书那天是深夜了,习惯了晚睡的我,把这本书找了出来,打算做催眠的作用,可是后来我才发现适得其反,越看越精神,一口气看完的时候都是早上8:00了,辛好第二天是周末,可以大睡一觉。

       这是一本关于软件工程的书,其实以前我看过一本外国的大师级作品《人件》,我看这本书的时候完全是冲着这个大师的名字去看的,但是到现在我几乎都完全忘了里面讲的是什么,可能是老外的写作风格不同,又或者是到了中国的时候翻译出了问题,总之不和我胃口,但是这本书不一样,在《大道至简》里面大多数章节的开始都要讲一个中国古时候的小故事,并且还要引用原文,作者真是费劲心思,用一个小故事来引起读者看下去的欲望,通过故事说明一些道理,然后推导到软件开发里面去说明一些现象。整本书都的确是扣了题,每个问题都力求从表象说到实质,说到实质后自然大道就简单了,从面向对象--->问题思考--->软件工程,无不体现了这个思想。

      其实从书中能够看出来作者是一个善于思考的实用主义的人,上面这句话里面其实就概括了我看这这本书的最大两个收获,我想这也是作者要传达给我们的东西。首先说善于思考,作者从一开始对于他要阐述的每一个问题,每一个故事都做了深入的思考,并且把问题的本质抽出来,转化成简单,核心的实质性的东西表述出来,这是作者要传达给我们的第一个东西,作者可能希望我们能够看了这本书以后要善于思考,多花时间思考,而不是没日没夜的重复写code。其实,思考不要盲目,要从实际角度出发,举个例子,在第四章中,作者讲了沟通,作者认为客户和程序员之间的沟通,或者客户和业务公司的沟通,最重要的的是双方能够有效的在短时间里面相互交流到实质性的问题,至于是用c语言表述,还是UMI用例图表述,更或者是用伪代码表示都不是问题,作者甚至玩笑的说用甲骨文写客户沟通报告都强于UMI用例子图,所以沟通最终是要达到彼此了解的目的,类似于这样的思想在一本书中都有说明,作者认为解决问题是更本,而现在那么多技术,那么多技术名词,实际上是复杂了问题,当然并不是我们就不要他们,而是我们再使用的时候要看清楚他们的更本,这就是实用主义,一起从解决问题出发。“如同编程工具中的编译器和集成开发环境(IDE)一样,开发中的编程语言,过程中的模型语言都只是一种工具。工具的产生认旧是出于‘(软件)实现’的需要”-----摘之大道至简。所以思考才是本源,“围棋的学习有四个阶段:记住定式 应用定式 忘掉定式 创造定式”。---摘之附录。

     然而,当我认真仔细的看完这本书的时候(也许我们根本就不该把他定义为书,我个人认为这篇文章仅仅是从思想层面上引导我们我们去学会思考,善于思考以及勤于思考,只是为了更好的说明作者的观点,以软件工程这件事为例而已,而书从某中意义上来讲,应该是一个自成体系的东西,所以从这个角度而言我只是把他定义为长篇文章),所以从这个角度来看,这本书的体系性还不是很强,虽然文章从面向对象--->问题思考--->软件工程--->思考这个很有叙事性的逻辑来完成作者想要表达的意思,但是叙事性仍然没有掩盖体系的瑕疵。最后第八章的时候,作者依然将笔锋转到思考这个根本的话题上面来,不过最后一章的描写显得太零散,笔随心出,如果这一部分好好整理一下就好了。

     总体来讲,这是一篇很值得推荐看的文章。

     迷时师度,悟了自度!!!

今天的人文坚持

——余秋雨讲演稿摘选

在自已家的后院挖一个池塘,引文化之水,来滋润全家,一眼望去,碧波荡漾,很像样子。

我与中国大陆一些文人的最大分歧在于,我认为人文坚持的第一原则是善良,他们认为是政治。

对于各色各样的伪座标,只能有一个回答,那就是:出走。

出走的第二个方面,是挣脱生命的归并状态和分类状态。

以出走来体验自己的生命,是为了关爱世间的诸多生命。

被提醒者未必会去寻找属于他们自己的小岛,但他们可能会在日常生活中增加一点宁静的深度。

读书

忘了在哪一天,当我终于明白了自己的生命具有不被各种概念事先限定的自由,明白了自己手上,每时每刻都紧握着改变生命质量的权利。那么,我的决断力就产生了。

沐浴春风,我们为差异而欣喜

我们的生命,很可能一直处于卑微状态之中,互相搔扰,共同降低。要提升生命的质量,首先必须超拔自己的环境,开拓生命的空间。

超拔和开拓的途径,就在我们身上,一是用眼睛,二是用脚步。用老话来说,就是“读万卷书,行万里路”,但还要补充一句新话,那就是:“在书和路的中间,为了找到生命的真实,而苦苦思索。”

闲话ERP

功能全面导向还是面向客户导向?答案当然是后者

《JOEL说软件》

www.joelonsonware.com

那些有软件项目方面做得成功的稀有人物当中,有许多人有有机会将自己积累的经验传给下一代之前,就很富有并隐退到养鱼场垂钓去了。

与此同时,似乎许多软件开发组织已经远远走出了JOEL测试的范畴,而进入复杂的官僚政治动脉化苦斗之中。

如果向上走得更远的话,作为抽象哲人的你将会没有氧气可用的。有时候,聪明的思想家就是不知道适可而止,从而建立起一种包罗万象的荒谬的宇宙顶级抽象画面。这些画面虽然尽善尽美,但就是没有任何实际的含义。

我把这些人叫做太空架构师,让他们编写代码或者设计程序是非常难做到的,因为他们不会停止对体系结构问题的思考。说他们是太空人,是因为他们所处的层次是如此之高,而超出了有氧气的空间,我真的不知道他们是如何呼吸的。他们倾向于在真正大型的公司里供职,这种公司能够供养许多身份极高而对具体业务没有什么贡献的非生产性人员。

或许这就是开启生产效率之门的钥匙:开了头就好了。

它花费了我另外15年的时间才意识到,开火与运动的原则就是你如何在现实生活中把事情办成的策略。你每天都得向前移动一点点,代码是否蹩脚与充满故障而没人想要它是无关紧要的。只要你向前移动而不间断地编写代码与修复故障,时间就会站在你一边。

代码编写不是一般意义上的生产活动。它并不总是居于人员素质的范畴(尽管它可能是),而是一种设计行为。设计指的是一方能够让价值提升比经费添加要快的朦胧地界。

就拿一个很小的例子来说,UNIX文化的核心价值被Raymond称为“沉默是金”,即一个切实成功实现用户要求的程序,倒是应该什么内容也不输出。

同样,UNIX文化很欣赏以文本形式提供的程序。

我经过多年了解到的一件事情是,如果你问人们的问题越多,那么他们越不大可能回答你。

我们会倾听客户的声音与品尝自己的狗食而致力于改进我们的产品并集中精力关注商业需求,而不是在全国飞来飞去以募集更多的风险投资。

不要让电子邮件程度或者IM客户程序处于激活状态。如果你需要,可以每小时检查一次电子邮件,但就是不要让它总是处于运行状态之中。

如果是一个核心业务函数,那个不管它是什么,都要自己去做。

开办一家公司?你有一个非常重要的决定要做,因为它关系到你要做的所有其他事情:不管你做其他任何事情,你绝对需要搞清你的处境如何,并相应地调整要做的每件事情,否则祸将至矣。

要是你打算进入一个尚不存在现成竞争者,锁定与网络效应的市场,那么最好采用Amazon。

Amazon公司不管什么时候都绝对需要用金钱为时间让路。

正如我们已经说过的那样,即使只消除一个进入市场的障碍时,人们就会像潮水一样涌进来。生活将会好起来,直到别人以汝之道还治汝之身为止。

《掀起XBOX的盖头:微软掀起一场娱乐革命的计划内幕》

《Opening the Xbox: Inside Microsoft's Plan to Unleash an Entertainment Revolution》

我不是在说.NET没有什么新内容,而是在说.NET根本就没有什么内容。

“幻星”的闪光面

你看到了吧,像.NET白皮书这样的含糊不清的文档资料的闪光面在于,它们就是一种罗尔赫氏测验。人们实际上是带着预先具备的想法去读这些文档的,而既然文档里的如此含混,因此他们就会认为微软公司在重申他们的想法。

Dave,你太信任他们了,同你比较起来,他们显得太不仗义了。他们玩的是那种精神交流热线与报纸占星的骗术。通过向你灌输不着边际而毫无意义的空洞理念。你落入他们设下的让你相信他们能与你进行心灵交流的圈套。

微软公司制造了自己的万有引力,通常的规则对他们不起作用。

JOLE测试

1、使用源控制机制吗?

2、能一步完成连编吗?

3、每天都做连编吗?

4、有故障信息数据库吗?

5、在编写新代码之前修复故障吗?

6、有最新的进度表吗?

7、有规格说明书吗?

8、程序员拥有安静的工作环境吗?

9、你用到了你资金能力内可买到的最好工具了吗?

10、有测试人员吗?

11、新聘人员在试用期写代码吗?

12、进行走廊可用性测试吗?

令人遗憾的是,这个时代里,还有太多的人考虑问题还是政治优先。

放弃理想,才能成就现实。

去繁就简,更要言之有物。

如何改进阅读的体验?

使用编号或者符号列表、画面、图表、表格,与许多空白的目的在于使阅读过程显得“轻松”一些。

博客意义:现代焦灼的心灵,在于恰合人心。

《人月神话:软件工程散记》

《东软迷码——在不平衡规律中向国际化奋进的“大象军团”》

Neusoft  

Beyond Technoloyg  超越技术的应用智慧

追求个人与社会的共同发展

对人的重视恰恰就是对企业自身负责

我一进你们的园区,就感觉到一种活力,一种生机,一种希望,一个民族必须要有创造性的思维,才有希望。我们的国家需要像你们这样的一群年轻人,我们民族的希望寄托在你们的身上。——温家宝

这让人联想到一位学者讲过的话,相应的产业要有相应的文化作支撑。

为了在企业解决方案领域获得应有的竞争位置,我们首先注意到中国的企业在实施信息仑过程中最具挑战的一环就是顾问咨询队伍的缺乏,我们经常听到一句话就是:“我们的企业如果不上ERP就是等死,如果上了ERP就是找死。”实际上,在这个环节中,我们缺少了一个环节,那就是一个强有力的顾问和服务队伍,能够真正把技术变成客户所需要所喜欢的解决方案。

《笛声何处》

这种与西方戏剧的严谨结构判然有别的松散弹性结构,体现了东方美学潇洒无羁的独特神韵,也是中国戏曲有趣的生命状态。

昆曲艺术在其繁荣期的演出方式与我们日常习见的话剧、歌剧演出方式有本质的区别,它并不刻意制造舞台上的幻觉幻境,而是以参与某种仪式的方式与实际生活驳杂交融。

只有在层恋叠嶂之中,才有巍账的高峰。

“不到园林,怎知春色如许!”

这种复杂的文化现象和美学现象,从艺术上说,体现了艺术构件对于艺术构架的独立性,艺术途径对于艺术目的的独立性;从思想上说,则体现了气节、意志、人生风貌对于政治目的的独立性。

《桃花扇》

孔尚任的这种裁断和鼾,都是为了实现一种意向:渲染出一种真实而又浓重的历史气氛,借以体现出一种江河日下的历史必然。

但在理性上,作者又明晰地知道,在江河日下的整体局势下,善良的许诺是无用的和无益的。于是,他就表现了这么一个饮食着大量美好内容必然破灭的过程。高水平的悲剧,并不是一定要观众面对着一对情人的尸体而涕泪交流,而是要观众在一种无可执拗的历史必然面前震惊和思索。

时代发展的趋向,首先向第一流的艺术家发出了朦胧的通知。

他们的超逸的态度,评判着历史功过,交流着离乱之感。

《桃花扇》错综复杂的历史过程,众多而各别的人物形象,吞吐万汇的大容量结构,深沉而苍茫的历史感叹,组合成了一种惊人的恢弘气概。恢弘中笼罩着悲凉,恰似薄暮时分群山间沉重鸣响的古钟,嗡嗡锽锽。

《打鱼沙家》的艺术容量是如此之大;它就以一个苍老的渔夫和一个娇憨的女儿,以一幅春江舟行图,以几句哽哽咽咽的叮咛,渲染出了反抗封建专制的英雄们的悲壮美。显然,这种悲壮美,属于荒江茅舍,属于民间,属于无数草泽英雄。

中国古代戏剧文化史,在地方戏曲的洪流中结束。光辉的传奇时代所制造的传奇剧目,已大多化作折子戏,与各种地方戏剧目混为一体了。因此,传奇时代,也就悄悄地消失在地方戏的汪洋大海中。

什么是爱情

有一天,柏拉图问老师苏格拉底什么是爱情?老师就让他先到到麦田里去,摘一棵全麦田里最大最金黄的麦穗来,期间只能摘一次,并且只可向前走,不能回头。 

  柏拉图于是按照老师说的去做了。结果他两手空空的走出了田地。老师问他为什么摘不到? 

  他说:因为只能摘一次,又不能走回头路,期间即使见到最大最金黄的,因为不知前面是否有更好的,所以没有摘;走到前面时,又发决总不及之前见到的好,原来最大最金黄的麦穗早已错过了;于是我什么也没摘。 

  老师说:这就是“爱情”。 

  之后又有一天,柏拉图问他的老师什么是婚姻,他的老师就叫他先到树林里,砍下一棵全树林最大最茂盛、最适合放在家作圣诞树的树。其间同样只能砍一次,以及同样只可以向前走,不能回头。 

  柏拉图于是照着老师的说话做。今次,他带了一棵普普通通,不是很茂盛,亦不算太差的树回来。老师问他,怎么带这棵普普通通的树回来,他说:“有了上一次经验,当我走到大半路程还两手空空时,看到这棵树也不太差,便砍下来,免得错过了后,最后又什么也带不出来。” 

  老师说:“这就是婚姻!” 

  人生就正如穿越麦田和树林,只走一次,不能回头。要找到属于自己最好的麦穗和大树,你必须要有莫大的勇气和付出相当的努力。

《软件开发的科学与艺术》

微软公司华人专家鼎力之作

全面总结软件开发思想,深入解析软件开发过程

新产品的产生过程

(1)新产品项目的提议

(2)市场分析预测

(3)技术可行性分析

(4)产品研发实施步骤

(5)高层论证和审批

(6)项目确立和执行

(7)产品开发

微软的产品团队原则

小型并具有多功能的团队

角色互相依赖并分担责任

具有深厚的技术和商业敏锐性

关注于完成产品

有明确的工作目标

用户积极参与

共享产品远景

人人参与设计

努力从过去的产品中学习

共享产品总体管理和决策

所有团队成员都在同一个地方工作

大团队的工作方式类同于小团队

People are most productive working in small teams with tight budgets, time deadlines, and the freedom to solve their own problems. 

人们在那些具有严格的预算和时间限制,并且能够自由地解决他们自己问题的小团队中工作时将更富有生产力。

——比尔·盖茨

在微软的产品团队中,权威仅仅来自于知识,而不是来自于职位。

各个团队的角色及主要目标

产品管理:确定产品的远景,获取并确定用户的需求,开发并维护商业安全,满足用户的需求

项目管理:制定开发功能规范,在团队内进行沟通和协商,维持产品进度并报告产品状态,保证能够尽快尽好地在产品约束条件下发布产品

软件开发:开发出满足设计规范和用户要求的产品

软件测试:开发测试策略和计划,保证在解决了所有已知问题后再发布产品

用户培训:保证使用文档要全部很清楚地写出来,提高用户使用产品的技能,保证大多数用记都能够充分利用产品的功能

后勤管理:保证产品能够平稳地发展

微软软件开发的过程模型

1、指导原则:

软件的开发过程是由目标驱动的,而不是由具体任务驱动的

开发过程的各个里程碑(Milestones)都是显而易见的

基于版本的发布

进度表是基于风险驱动来制定的

依靠完全的团队合作来完成

严格管理,保证质量

2、开发过程原则

在制定进度表时,要明白我们要面对的是一个不确定的将来

通过有效的风险管理使不确定性因素达到最少

定期的编译和快速的测试来使产品的稳定性和可用性达到最佳

产品的开发周期要快速

通过创造性来实现功能的改进而不增加资源

建立固定的进度表

使用小团队来并行工作,以达到最多的同步点

将一个大的产品分割成一些易于管理的、可以在几个月之内完成发布的小部分

要避免任何不必要的功能扩展

使用概念证明(Proof-of-Concept)的技术原型来做开发前的测试

要本着零缺陷的态度(一般来说,一个软件产品不可能没有缺陷,这里的零缺陷是指产品发布时没有影响产品功能和使用的缺陷)

在阶段回顾时要集中于功能和产品的改进,而不是挑任何人的过失

产品开发团队的主要组成部分

1、产品管理团队Product Management Team

需要清楚地知道用户的需求,并详细地给出定义

我们要确保新产品能够为我们带来利润

控制用户的期望值

设计产品的特性和进度表

负责管理市场、推销以及公共关系

2、项目管理团队Program Management Team

操纵着产品的开发过程

管理产品的细节

促进团队内部的交流和商议

保证产品的开发进度

控制全局,并做出一些折中决定

3、软件开发团队

具体说明物理设计的功能

4、软件测试团队Software Testing Team

测试管理Test Management 一致性测试 Compliance Testing

配置测试Configuration Testing 集成测试Integration Testing 强力测试 Stress Testing

承担的角色:尽量找出所有的BUG、写出测试规范和测试计划

微软软件开发过程的阶段

1、想法和意图的批准里程碑Vision/Scope Approved Milestone

2、产品计划的通过里程碑Project Plan Approved Milestone

3、范围完成/第一次使用里程碑Scope Complete/First Use milestone

4、发布里程碑Release Milestone

想法和意图批准里程碑

提出一个长远目标Long-Range Vision

制定短期的目标Shorter-Range Scope

新产品的机会和风险Opportunities and Risks

假设Assumptions

约束Constraints

项目资源Project Resources

时间和工作强度Time and Effort for Planning Phase

产品计划的通过里程碑

项目陈述Project Deliverables

功能和优先级Features and Priorities

项目风险Risks

发布日期Ship date

商业要求Business requirements

产品功能规范Functional Specification

产品计划Project plan

产品进度表Project schedule

范围完成/第一次使用里程碑

功能规范化 All features built to special

使用和估计产品Using and evaluating the product, even if testing is not complete

用户试用Customers using the product for the first time under beta conditions

基础要求的配置Deployment of infrastructure required for first use

配置计划细节Deployment plan details

发布阶段

测试计划Test Plan、发布内部版本1Internal Release 1、发布内部版本2Internal Release 2、

发布内部版本n Internal Release n、发布Alpha版本、发布各Beta版本、发布候选版本Release Candidates、发布包装好的正式产品Golden Release这几个阶段

产品稳定和所有问题的解决Product stability and resolutionof all issues

用户接受产品Customer acceptance of the product

转移长期管理和支持的所有权Transfer of ownership for long-term management and support

关注下一版本Change in team focus to the next release

写好代码的十个秘诀

一般来说,一流代码都具备以下特性:

1、稳定可靠Robustness

2、可维护并简洁Maintainable and Simple Code

3、高效Fast

4、简短Small

5、共享性Reusable

6、可测试性Testable

7、可移植性Portable

十大秘诀

1、百家之长归我所用Follow Basic Coding Style

2、取个好名字Use Naming Conventions

3、凌波微波,未必摔跤Evil goto's Maybe Not...

4、先发制人,后发制于人Practice Defensive Coding

5、见招拆招,滴水不漏Handle The Error Cases: They Will Occur!

6、熟习剑法刀术,所向无敌Learn Win32 API Seriously

7、双手互搏,无坚不摧Test, but don't stop there

8、活用断言Use, don't abuse, assertions

9、草木皆兵,不可大意 Avoid Assumptions

10、最高境界,无招胜有招Stop writing so much code

软件测试方法和辅助工具

1、覆盖性测试Coverage Testing

单元测试Unit Test

功能测试Function Test

提交测试Check-in Test

基本验证测试Build VerificationTest

回归测试Regression Test

2、使用测试Usage Testing

配置测试Configuration Test

兼容性测试Compatibility Test

强力测试Stress Test

性能测试performance Test

文档和帮助文件测试Documentation and Help File Test

Alpha和Beta测试Alpha and Beta Test

(1)白盒测试While Box Testing

(2)黑盒测试Black Box Testing

接受性测试Acceptance Testing

Alpha/Beta测试

菜单/帮助测试Menu/Help Testing

发生测试Release Testig

回归测试Regression Testing

RTM测试Release to Manufacture Testing

功能及系统测试Function&System Testing——规范验证Specification Verification、正确性Correctness、可用性Usability、边界条件Boundary Condition、性能Performance、强力测试Stress、错误恢复Error Recovery、安全性Security、兼容性Compatibility、软件配置Configuration、软件安装Installation

手工测试Manual Testing、自动测试Automation Testing

保证软件功能的定义有意义Make sure the feature definitions make sense

学会说不Learn to say "no" if you strongly feel so

项目经理定义的规范也是可以改变的PM's spec is changeable, too

坚持正确的看法Insist what is right

职业化Professionalism

向项目经理和开发人员反馈Give PM/Dev feedbacks 


综合 2011-02-22 03:43:17

[新一篇] 評《臺灣首任巡撫劉銘傳》

[舊一篇] 中國智慧-微軟亞洲研究院院長話題摘
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表