读书笔记:《梦断代码Dreaming in Code》

拿到《梦断代码》书后,一人口暴翻了平普,然后还要从而了3上时间精心读了千篇一律满,也情不自禁掩卷长叹一声,做软件难。虽难,仍若继续走下去,可以将软件之克限定得有些片,用便捷方法等过程会如软件砸的风险稍一些,毕竟我们尚从未写书上所说的那样的大型软件。

 

第0节 软件时

如出一辙开始看第0节并不曾觉多么奇怪,可能程序员的思辨方法都固化于大脑受到了,但读到作者关于第0章无意为笑时,也按捺不住哑然失笑,为什么程序员要从0开始计数?因为计算机从0开始计数!多么直接的答案,程序员要读电脑的计数方式,要从0计数转换到真用户之起1计数,不歇地当先后中展开+1
以及-1操作。

宣读到Hello World,上网google了瞬间以此200大抵个hello
world的网页,许多还是怪诞的语言。

http://www2.latech.edu/~acm/HelloWorld.html

http://www.roesler-ac.de/wolfram/hello.htm  
这个不知晓干什么无法显示,难道就东西呢吃QIANG了?

1987年Frederick
Brooks写了《没有银弹》的资深论文,1/4独百年过去矣,银弹确实没意识,各种方法论产生了相同很批判。

 

第1章 死定了

Bugzilla软件以咱们的社里从未使用过,我们要用JIRA,主要是于软件抢发布前用上一段时间,随着时间的延期,一些型即慢慢不用了。

布鲁克斯法则:向已经延误的色面临补充人力,只会使该继承延误。

做软件之口还听说过此规律,但以档次僧多粥少的早晚真还忽视它的存在,或者认为就法虽对协调的门类不树立。此时首长之仲裁通常不是恃大脑,而是凭通常的直觉,人差不多力大,但每当软件行业不适用。“十月怀胎,无论多少女人到都一致”,是独十分像之比喻。

 

第2章 Agenda之魂

卡普尔(Mitchell Kapor)在领戴维·甘斯的收集时说罢之均等段落话:

当成为数字资本家之前,我早就叫人超觉静坐,还于同样小社区诊所的精神科做过心理咨询师,这些经验对本身影响最生。我有所心理咨询的硕士学位。所以,我任何发趣味。我只是误入计算机领域,无意成为比尔·盖茨—-只有比尔·盖茨才会做比尔·盖茨。我常有不请开特别商店、赚大钱。我只是办了家叫做莲花之有点店,做了只几百万丁争相选购之软件出品,结果这家小商店突然暴长,员工数千,每年纯收入数亿美元。很无爽。至少对本人个人来说,很无爽。所以我去了。在某个同龙,我距了。

 

第3章 原型与Python

语言的精选也许还是一个类别于头选择时须要经历的伤痛抉择。

文中说到了汇编、Fortran、C、Perl,谈到了编译型语言和解释型语言,最后项目用Python语言来落实。

即回里干了RDF(Resource Description Framework),好像在当年结题的国家863档受到为听到了是名词,原来就东西可以用来描述万维网中之语义。

电梯说:就是当您有幸在电梯中碰到某位权钱人士时,能脱口而出,在紧缺日内说服他。

 

第4章 乐高王国

模块化和组件化是软件人员的想,谁都想将几独模块插到齐就是好圆满的周转并做到任务,但实际却相当残酷,可以运作的模块通常不可知与协调想写的次第配合工作,好的源代码由于商业利益也不顶爱找到,程序员只能自己另外起炉灶,搭建好之模块,但结果要一如既往,做出来的事物难以让旁人共享,这个场面周而复始,不断地当多独程序员身上上演。

新近起一个深受组件管理方面的档次,听起让人口并非信心,连运行在什么平台及、给啊用户用还无清楚,这样的零部件管理出啊用?还免若就叫做文档管理算了。

开被涉嫌一个深受考克斯的总人口,他创立了相同小叫Stepstone的营业所,致力为往C语言系统搭造者提供插入式芯片级软件组件,最后的下结论是:生消息是这次试验显示,即便以最新的技巧,要惦记设计与制既出因此并且真能复用的组件、为组件写文档以便为客户理解、移植组件到潮水般不断涌现的新硬件平台上、确保新型的改善要么发表版不与留存接口冲突、将零件销售至接近威廉姆斯堡枪行业那种鼓励从头做起的价值体系,都是最为艰苦的。

而是复用软件之梦有一个悖论:几乎总能找到同样段落满足大部分急需之代码。但这些以来的代码所未克成功的有,恰恰是种突出的创新的处—-也是开创是类别的着眼点。

 

第5段 管束奇客和狗

色三角,既好、又赶忙、还有利于,同时满足的事体不太可能发生。

自打程序员转做经营常常让说成是做了“前脑叶白质切除手术”,这个术语或者由刚由《How
We
Decide》立按照开看过,这种手术会叫患儿更新丧失感情、不知爱恨悲喜。国外技术人员不甘于承担项目经理这种管理职位,而以境内刚好相反,许多时候要未见面编程的丁来保管。

用代码行数做判定标准就会鼓励程序员写臃肿、蹩脚的代码。

闲逛式管理MBWA(Management by wandering around)好像不可知移植到软件领域面临。

关于奇客的2种概念:

盖(计算机)程序瑕疵也食—-不善社交、身有恶臭、面色苍白的偏执狂,具有奶酪刨丝器一般的人头特点。

小心让自我事的人口;追求技术(特别是标准技巧)和希、不融入主流社会的丁。

群件Groupware:即经常通信、聊天室、缺陷跟踪、源借故传统的邮件列表等工具,个人感觉要慎用这些工具,否则你的工作时会为这些家伙吃得一样干二全。

Wiki于chandler项目遭到也建立了四起,感觉这个chandler项目因此到的家伙太多,如果程序员不可知成立地配备自己的流年,估计会为这些家伙所淹没。

对此程序员来说,确实发生平等栽制造工具的冲动。磨刀不误砍柴功本身并未错,但程序员在研的进程中见面想搞至均等块最好的石,并花费了充分把的光阴去把刀磨得吹毛断发,却遗忘了还要砍柴。

 

第6节 搞掂设计方案

连集成应该再方便产品的期限公布。

这等同段出现了GTD,没悟出就本开之活chandler竟然跟GTD也出涉及,原来这个软件之UI设计师尹咪咪被了戴维艾伦的Get
Things
Done书的震慑,不过这里翻啊《搞掂》,而未是《搞定》,看来要chandler早点发布,流行于场景上的GTD工具或不见面是omnifocus,而是chandler了。

在www.floklore.org网站里产生大气有关成立MAC操作系统的粗故事,可惜这些英文看起有些辛苦。

关于Linux的撰稿人李纳斯托瓦茨的话语:

浮动做老大类。从小项目起,而且永远不要期望它换充分。如果这样想(指做大型软件),就会见做过头设计,把它们想象行过于重要。更充分之状态是,你或许会见让自己想象着之困苦工作所吓倒。所以一旦从小处起步,着力考虑细节。别错过思特别场面和好计划。如果项目没有解决某些需求,多半就是是叫过分设计了。

转要以缺少日外及充分成功,我从事为Linux达13年之久远,我思念后面还得费上好把日子。如果一早就妄想做个要命东西,可能现在还没动手也

 

第7章 细节视图

需要将错的严重后果,18英尺的巨石拱门变成了18英寸的石桩子。

最为显赫也最为声名狼藉的匈牙利命名法,可能在用C++写Windows程序的时代是要,因为各种类型、结构、枚举、控件等等为丁乱,让人口爱失误,而以Java和C#抵这种强类型的言语中,这看似命名法完全是针对程序员审美观的施暴。

prepBut nI vrbLike adjHungarian! qWhat’s artThe adjBig nProblem?

自虽是喜匈牙利命名法!有什么问题?

Chandler中的备情节都是Item,对Item可以打戳算是一种植创举,有时机看来要得以试行这款应用。

 

第8节 白板及之尽管时贴

雅敬佩写规范的人头,你若为此5年吗计算标准的观看问题。得费上5年时光,才会取得你真的想要的有效的物。

这里呢关乎了WebDAV,好像这协议于Mac里心想事成得较全,但每当Windows中都未完。omnifocus也支撑WebDAV同步。

眼看节里提到了37Signals供销社(写《重来Rework》的那小公司),这种小型团专注让AJAX的WEB应用,同样得到了成功。

之所以贴纸法来谈谈项目逐个小本子应该负有的效用特色,也是飞开发里重要加大的。

 

第9章 方法

IBM执行强制进度纪律的成基于两条标准:

1)计划是强制性的

2)计划必须符合现实情况
—-“从之为达”,依据那些当本计划执行的程序员的涉及学识而来,而不是“从到到下”,靠长官拍首要对市场之期望而来。

CMM这个沉重的软件开发成熟度模型在境内完全变了味,曾拘留正在一个软件商店以通过CMM4,编出一堆积从来无人审美的丰厚文档,CMM果然只重复过程,而国内又把这种过程流于形式,通过CMM,只以为用户抬高报价。TSP、PSP也扣了,感觉一定繁琐,在境内都不便被实践。

2001年17各领军人物,提出了飞软件开发宣言,向这种笨重的CMM宣战,从此极限编程XP和SCRUM开始流行。

Google让开发者把五分之一之辰花在个体项目落得。这种管理方式以境内想还不敢想。

祖尔测试的12只问题:

1)Do you use source
control?     
你们用源代码控制呢?

2)Can you make a build
in one step?     你们一样步就是能得构建吗?

3)Do you make daily
builds?    你们举行每日构建吗?

4)Do you have a bug
database?    
你们来欠缺数据库也?

5)Do you fix bugs before
writing new code?    
你们会于描绘新代码之前修复缺陷也?

6)Do you have an up-to-date
schedule)?    
你们有和当前工作吻合的快慢安排吧?

7)Do you have a
spec?   
你们有则吗?

8)Do programmers have quiet
working
conditions?   
程序员工作条件安静为?

9)Do you use the best
tools money can buy?   
你们下了市场上太好工具为?

10)Do you have
testers?  
你们来测试人员吗?

11)Do new candidates write code during their
interview?   
你们会要求应聘者在面试时写代码吗?

12)Do you do hallway
usability testing?   
你们做走廊可用性测试呢?

 

第10章节 工程师和艺术家

squeak平等栽乎小朋友定制的samlltalk最新开源实现,让孩童过早接触编程到底好不好?

编程是工程或者文学?是不利要艺术?

高德纳写的书名叫《计算机程序设计方法》,他于1984年得到图灵奖时上感言说,“计算机编程是帮派艺术”。写《计算机程序设计方式》这仍开外花了十年,写TeX和metafont程序没有悟出为花了临近10年。他声称,写软件要比写书“难多矣”。

 

第11节 通往狗食版之路

凭着自己的狗粮,这种思路确实推进提升软件质量与用户体验,心想连自己都不犯一据此底软件无什么去折磨用户为?

麦卡锡于实质上用LISP描述了LISP,有时光得看这大名顶顶的LISP,先将当时段上书贴上,据说与Haskell一样难学。

C语言 1

尾声 长赌

深的海湾大桥在2012年完工,上网查阅了查,看来要在2013年才能够完工,看来建桥与软件也闹相似之处。

打网上搜了同摆设2013年完工经常预计的法。

C语言 2

 

看了书后,我上网查看了一下,原来chandler1.0早已在2008年发表了,当前凡是1.0.3本,也吃称作一种GTD工具,凭着一沾好奇心装及了,实在不会见用,马上就去了,满屏的东西不了解该本哪个,可能OmniFocus的定义就到头地占有了本人之大脑了,让自家割舍拥有的omnifocus上的action全部导入到此来治本,实在没这个勇气。

 

C语言 3