码迷,mamicode.com
首页 > 其他好文 > 详细

读书笔记——程序员修炼之道(二)

时间:2015-04-28 20:38:54      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

这段时间读完了《程序员修炼之道》这本书的4,5,6三个章节,现总结如下:

第四章《注重实效的偏执》:每个人都知道只有他们自己是地球上的好司机。所有其他人都等在那里要对他们不利,这些人乱冲停车标志,在车道之间摇来摆去,不做出转向指示,打电话,看报纸,总而言之就是不符合我们的标准。于是我们防卫性的开车,我们在麻烦发生之前小心谨慎,预判意外之事,从不让自己陷入无法解救自己的境地。

编码的相似性相当明显,我们不断的与他人的代码接合——可能不符合我们的高标准的代码——并处理可能有效可能无效的输入所以我们被教导说,要防卫性的编码。如果有任何疑问,我们就会验证给予我们的所有信息,我们使用断言检测坏数据。我们检查一致性,在数据库的列上施加约束,而且通常对自己感到相当满意。

与计算机系统打交道很困难,与人打交道更困难,但作为一个族类,我们花费在弄清楚人们交往的问题上的时间更长。

第五章《弯曲或折断》:生活不会停步不前,我们编写的代码也不会,为了让我们赶上今天近似疯狂的变化步伐,我们须要尽一切努力编写尽可能宽松,灵活的代码。,否则,我们可能就会发现我们的代码很快就会过时,或是太脆弱,以至于难以修理。

保持灵活的一种好办法是少写代码,改动代码会是你引入新的bug的可能性增大。

使耦合减至最少:假定你在改进你的房子。或是从头修建一所房子,典型的安排设计找到一位“包工头”,你雇佣包工头来完成工作,但包工头可能会,也可能不会亲自进行建造;他可能会把工作再分给其他的包工头,但作为客户,你不必直接与这些子包工头打交道,总承包人会替你承担那些让人头疼的事

时间是软件架构中一个常常被忽视的方面,吸引我们的时间只是进度表上的时间,发布之前我们剩余的时间,但我们谈论的是作为软件自身的一种设计要素的时间的角色,时间有两个方面对我们很重要:并发和次序。

第六章《当你编码时》:怎样靠巧合编程,假定F接受了一项编程任务,他敲入一些代码,进行实验,代码好像能工作,他又敲入了一些代码,进行实验,代码好像还能工作,在进行了几周这样的编码后,程序突然停止了工作,F花了数小时设法修正他,却不知道原因在哪,他可能会耗费大量时间检查这段代码,但仍然无法修正它,无论他做什么,代码好像就是不能工作一样。F不知道代码为什么失败,因为他从一开始就不知道代码为什么会工作。有时我们可能会依靠巧合,但我们应该知道,我们绝不应该依靠巧合。

怎样深思熟虑的进行编程:1)不要盲目的编程。2)按照计划行事。3)依靠可靠的事物。4)为你的假定建立文档。5)不要只是测试你的代码。6)为你的工作划分优先级。7)不要做历史的奴隶。

重构:时间压力被用做不进行重构的理由,但这个理由并不成立,现在没能进行重构,沿途修正问题将需要更多的时间,那是将需要考虑更多的依赖关系,因此,要把需要重构的代码当作一颗肿瘤,必须切除。

读书笔记——程序员修炼之道(二)

标签:

原文地址:http://www.cnblogs.com/xiaojin123/p/4463588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!