《梦断代码》读书笔记(二)
2016-06-01 21:03
148 查看
到底是什么驱动程序员和管理人员,测试人员长年累月投入到一个软件项目中去?
从网上看了一则小故事: 美国的一个肥皂剧Seinfield里有一集,讲了一个混混Kramer 热心地加入了一家公司,义务打工,起初他的口头幽默和热情感动了团队,领导委以重任,不料Kramer 根本没法儿把事情做好。最后领导只好找他谈话,Kramer 承认自己不行,他说- 但是俺是义务给你们打工的! 领导说,对,这就是让我们为难的地方。。。 项目中来了一位“义务打工的”,照理说,对项目只有帮助,而且别人是“义务”,你怎么好意思把别人赶走?
这则故事告诉我们:不把自己当做参与者是不能够全身心的投入到一个工程中去的,做一个项目的驱动力是想做好这个项目以及这个项目带给自己的些许好处和利益
第二章卡普尔(Mitchell Kapor)在接受戴维·甘斯的采访时说过的一段话:
第三章语言的选择可能都是一个项目在前期选择时必须要经历的痛苦抉择。
文中谈到了汇编、Fortran、C、Perl,谈到了编译型语言和解释型语言,最后项目用了Python语言来实现。
这章里提到了RDF(Resource Description Framework),原来这玩意可以用来描述万维网中的语义。
电梯游说:就是当你有幸在电梯间遇到某位权钱人士时,能脱口而出,在短时间内说服他。
第四章乐高王国让我们了解到模块化和组件化在实际实现中实非易事,我们需要有成文的编码规则和有效的沟通交流
书中提到一个叫考克斯的人,他创办了一家叫做Stepstone的公司,致力于向C语言系统搭造者提供插入式芯片级软件组件,最后的结论是:坏消息是这次试验显示,即便采用最新的技术,要想设计和制造既有用又真能复用的组件、为组件写文档以便于客户理解、移植组件到潮水般不断涌现的新硬件平台上、确保最新的改进或发布版本不与现存接口冲突、将组件销售到类似威廉姆斯堡枪械行业那种鼓励从头做起的价值体系,都是极其困难的。
可复用软件之梦有一个悖论:几乎总能找到一段满足大部分需要的代码。但这些拿来的代码所不能做到的部分,恰恰是项目与众不同的创新之处----也是创建这个项目的出发点。
第五章 管束奇客和狗里说明了质量好、速度快、价格便宜的项目时不可能实现的,三者不可得兼
用代码行数做判断标准只会鼓励程序员写臃肿、蹩脚的代码。
关于奇客的2种定义:
以(计算机)程序缺陷为食----不善社交、身有恶臭、面色苍白的偏执狂,具有奶酪刨丝器一般的人格特点。
专注于己事的人;追求技术(特别是专业技术)和梦想、不融入主流社会的人。
第六章 搞点设计方案
别做大项目。从小项目开始,而且永远不要期望它变大。如果这么想(指做大型软件),就会做过度设计,把它想象行过于重要。更坏的情况是,你可能会被自己想象中的艰难工作所吓倒。所以要从小处起步,着力考虑细节。别去想大图景和好设计。如果项目没解决某些需求,多半就是被过度设计了。
别指望在短时间内达到大成就,我致力于Linux达13年之久,我想后面还得花上好些时间。如果一早就妄想做个大东西,可能现在还没动手呢。
体会深刻,恰好与《构建之法》里阅读的内容不谋而合
从网上看了一则小故事: 美国的一个肥皂剧Seinfield里有一集,讲了一个混混Kramer 热心地加入了一家公司,义务打工,起初他的口头幽默和热情感动了团队,领导委以重任,不料Kramer 根本没法儿把事情做好。最后领导只好找他谈话,Kramer 承认自己不行,他说- 但是俺是义务给你们打工的! 领导说,对,这就是让我们为难的地方。。。 项目中来了一位“义务打工的”,照理说,对项目只有帮助,而且别人是“义务”,你怎么好意思把别人赶走?
这则故事告诉我们:不把自己当做参与者是不能够全身心的投入到一个工程中去的,做一个项目的驱动力是想做好这个项目以及这个项目带给自己的些许好处和利益
第二章卡普尔(Mitchell Kapor)在接受戴维·甘斯的采访时说过的一段话:
第三章语言的选择可能都是一个项目在前期选择时必须要经历的痛苦抉择。
文中谈到了汇编、Fortran、C、Perl,谈到了编译型语言和解释型语言,最后项目用了Python语言来实现。
这章里提到了RDF(Resource Description Framework),原来这玩意可以用来描述万维网中的语义。
电梯游说:就是当你有幸在电梯间遇到某位权钱人士时,能脱口而出,在短时间内说服他。
第四章乐高王国让我们了解到模块化和组件化在实际实现中实非易事,我们需要有成文的编码规则和有效的沟通交流
书中提到一个叫考克斯的人,他创办了一家叫做Stepstone的公司,致力于向C语言系统搭造者提供插入式芯片级软件组件,最后的结论是:坏消息是这次试验显示,即便采用最新的技术,要想设计和制造既有用又真能复用的组件、为组件写文档以便于客户理解、移植组件到潮水般不断涌现的新硬件平台上、确保最新的改进或发布版本不与现存接口冲突、将组件销售到类似威廉姆斯堡枪械行业那种鼓励从头做起的价值体系,都是极其困难的。
可复用软件之梦有一个悖论:几乎总能找到一段满足大部分需要的代码。但这些拿来的代码所不能做到的部分,恰恰是项目与众不同的创新之处----也是创建这个项目的出发点。
第五章 管束奇客和狗里说明了质量好、速度快、价格便宜的项目时不可能实现的,三者不可得兼
用代码行数做判断标准只会鼓励程序员写臃肿、蹩脚的代码。
关于奇客的2种定义:
以(计算机)程序缺陷为食----不善社交、身有恶臭、面色苍白的偏执狂,具有奶酪刨丝器一般的人格特点。
专注于己事的人;追求技术(特别是专业技术)和梦想、不融入主流社会的人。
第六章 搞点设计方案
别做大项目。从小项目开始,而且永远不要期望它变大。如果这么想(指做大型软件),就会做过度设计,把它想象行过于重要。更坏的情况是,你可能会被自己想象中的艰难工作所吓倒。所以要从小处起步,着力考虑细节。别去想大图景和好设计。如果项目没解决某些需求,多半就是被过度设计了。
别指望在短时间内达到大成就,我致力于Linux达13年之久,我想后面还得花上好些时间。如果一早就妄想做个大东西,可能现在还没动手呢。
体会深刻,恰好与《构建之法》里阅读的内容不谋而合
相关文章推荐
- 最近邻(NNC)
- Java RMI:rmi Connection refused to host: 127.0.0.1异常解决
- Java用字符串生成的md5,sha1作为数据库主键, 去重
- [置顶] Spring配置多数据源和JOTM分布式事务解决方案
- java.lang.OutOfMemoryError: Java heap space解决方法
- Qt5 常量中有换行符
- 鸟哥Java学习之线程间通信-多线程
- Javassist 通用工具之 CodeInjector
- sqlite3数据库c语言常用接口应用实例
- virtualenv 指定 python 解释器的版本
- HomeWork——Binary Search Tree
- C++ Primer复制控制 13.3 析构函数
- 字符串编程之与整数的互换
- 鸟哥Java学习之异常-面向对象
- 【java进阶】初探泛型
- JAVA集合 笔记
- 鸟哥Java学习之多态、内部类-面向对象
- Java IO模型&NIO
- Spring学习一(入门和bean的作用域)
- Qt/C++ 继承QWidget setstylesheet解决