今天抽出时间读一下《梦断代码》的第4到6章颇有些感触故做笔记于此。
第四章的名字叫“乐高王国”在本章中讲述了程序员的一个美梦那就是希望做软件就像拼装积木那般,事先将各种小的组件做成并做好全球统一的规范接口,那样程序员在做软件时就只要在大大的零件仓库里找出相应的零件按需拼装在一起不就完美了嘛!一开始我觉得这个想法简直太完美了,太令人兴奋了,可是再继续往下读就感觉被泼了一盆冷水般一样。的确这个想法非常令人兴奋但是软件毕竟不同于其他实体化的产品可以摸得着看得见,它在制作过程中是完全抽象的而且充满了多变性和不规则性。书中列举出了几种原因,首先软件项目是需要有创造力的,一味地使用前人编写的各种组件必然会限制软件开发的进步,对于高级程序员来说鞥是不利已去做拾人牙慧之事;其次我们不能保证前人做的各种组件在操作系统上运行起来都是最优的,他可能只是实现了该作的功能但是就算法而言还需改进那么大量的软件使用了此部件就不是最优的;还有世间高级汇编语言有上百种没有人会知道今天哪位编程者会使用那种汇编语言去编写带有多少参数的实现何种特定功能的程序,我们不可以已考虑周全,所以制造零件随手拼装只是设想美好的愿景罢了。但是这个想法并非毫无用处,我们还是可以编写出部分使用频率极高的构建装到编程软件中供广大码农使用,这并不影响程序设计者的创造力,因为这些部件都是基础中的基础,满足节省时间随手拼装的愿景。本章还讲述了OSAF聚集了一批更方面的精英开发Chandler,但其中困难重重,过程常常陷入僵局,可见软件项目的开发并非一朝一夕之事,需要大量的分析磨合反复商议反复改写方可将事办成。
第五章名为“管束奇客和狗”初读本章题目让本人甚为好奇(其实每章都是如此)编程思想和狗又有何关系,着实令人难以想通,只好带着点点疑虑读下去。读完本章疑惑自然解开也不得不佩服作者的奇特的想象力与风趣性。能快速学会不常见或特殊的技能。如果管束不严则会戏弄主任。这是说拉布拉多狮子狗还是说程序员?用“经理”替换“主人”,相似度之高令人震惊。程序员是顽固的独行侠,老调重弹不足以促其成事;他们需要哄逗和爱抚,要有耗子可以追杀,要有缺陷可以荡涤。看来程序员的管理也有着很高深的内涵。紧接着我便看到了王教授向我们提及过的三角法则(名字记得不是十分清楚)时间,资金,质量这三个元素是每个工程中必须要计算的。然而我们必须要在其中做出取舍,若想在短期内完成高质量的工程那么人力物力的投入相比而言必然要多很多,同样的道理若想花费较少的时间的资源去完成一件工程,那么它必然是“豆腐渣”,制衡存于万物之间这是真理!
再有就是我个人觉得程序员也并非那么难以沟通,程序员与机器之间的沟通的确存在难处但是她们克服起来并不难的。
第六章“ 搞掂设计方案“大致做了如下总结程序员负责猜测程序该如何应对用户输入和机器状态的上千种可能组合。他们并不善于站在用户的立场考虑问题,想出之策。他合适们花费大量的时间纠结于数字化 细节,他们被调教得按自己做出的系统一般的运作。他们视之为理所当然的概念,对于非程序员而言纯然是怪异之举;他们多数不太了解用户的想法。
程序员们经过训练要巨细靡遗通盘考虑,他们太执着于警惕会出现问题的情形,结果却难免会迟钝不灵。他们在边缘案例上绞尽脑汁,以至于偏离了中心点;良好设计的原则:坚固——良好的结构、没有缺陷;适用——“程序应符合其设定目标之所需”;愉悦——“使用程的体验应令人愉悦”。”
转载于:https://www.cnblogs.com/aishangtaxuefeihong/p/5590090.html