程序员的修炼之道读后感(三)

阅读了这本书的第三四章,让我明白了程序的稳定性、健壮性最重要,为了完成这个目的,编程时最好使用最稳妥的编程方式,比如文本编辑,虽然费时费力,但却最稳妥。一定的存储空间换来程序的健壮性我觉得是值得的。

不要意图掩饰程序的瑕疵,勇于承认,因为死程序是不会说谎的,在项目测试时崩溃总比在商业用途中崩溃好。

让工具变为双手的延伸
纯文本的威力Keep knowledge in Plain Text.用纯文本保存知识。文本的威力:不过时;杠杆作用(每一样工具都可以工作在纯文本上);更易于测试;纯文本是永远的公共通信标准。
Shell游戏别受限于GUI界面,回到文本操作吧,让Shell成为你的朋友。Use the Power of Command Shells.利用命令Shell的力量。Cygwin,UWIN是Windows下的Unix Shell工具实现。
强力编辑Use s Single Editor Well.用好一种编辑器。编辑器特性:可配置,可扩展,可编程;Emacs是一个很好的编辑器,Vi也是,EditPlus也是。
源码控制进步远非游变化组成,而是取决于好记性。不能记住过去的人,被判重复过去。源码控制系统(SCCS)是一个长效的Undo功能。我们可以在主干上开发,也可以生成一些完整的分支提供给客户。如果分支情况良好,可以考
虑将分支和主支合并。Always Use Source Code Control.总是使用源码控制。无论怎么样,只要你在计算机上工作就要使用它。VSS,CVS,PCVS,SVN都是很不错的版本控制系统,还有就是ClearCase.
调试调试的目的:解决问题Fix the Problem,Not the Blame.修正问题而不是指责。面对Bug千万不要恐慌或者认为那是不可能的,既然发生了就要积极面对它。如何暴露Bug:1.最好可以和报告Bug的人面谈一下,这样可以搜集更多的数据;2.人工合成测试不能足够地演练应用,必须设计测试边界条件同时实现在现实中用户地使用模式;
测试策略别让Bug离你太远,否则会捉不到它地。1.使数据可视化:Variable name = data value.(直观地数据表达方式)2.跟踪:  a.把小诊断消息打印到屏幕上或者文件中,例如什么printf或者System.out.println之类的;  b.栈的踪迹(Stack trace)。3.橡皮鸭:对着别人解释你的代码,说着说着Bug就出来了;4.消除过程:找问题先找自己的问题,再找别人的问题;再提交Bug报告前,必须先消除你代码中的Bug.造成惊讶的要素:发生了,就认了把,然后努力去解决它。Don‘t Assume it-Prove it.不要假定,要证明。以后就别在说:“ Oh,My god”了。
文本操纵Learn a Text Mainpulation Language.学习一种文本操纵语言。用途列举:数据库维护,属性访问,测试数据生成,写书,接口,生成文档……
代码生成器Write Code that Writes Code.编写能编写代码的代码。被动代码生成器:只运行一次来生成结果1.创建新的源文件;2.在变成语言只间进行一次转换;3.生成查询表及其他运行时很昂贵的资源;主动代码生成器:在每次需要其结果时被使用取某项知识的一种表示形式,将其转换未你的应用需要的所有形式,说白了就是格式转换。————————————————版权声明:本文为CSDN博主「interhui」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/interhui/article/details/921421

原文地址:https://www.cnblogs.com/haheihei/p/11760760.html

时间: 2024-10-16 15:43:02

程序员的修炼之道读后感(三)的相关文章

程序员的修炼之道读后感(四)

定期为你的知识资产投资 让学习成为习惯.编程语言.技术日新月异,小伙伴们都感受至深,幸运的是我们的知识获得比任何行业都更加容易和方便,大量的社区,教程和热心的作者.书中也给程序员提了几点建议,每年学习一门新的语言,每个季度阅读一本技术书籍等. 不要重复你自己 系统中的每一项知识都必须具有单一.无歧义.权威的表示.其实我还是不太明白这句话,目前能做的,就是尽量不写重复的代码. 让复用变得容易 如果复用很容易,人们就会去复用.创造一个支持复用的环境.将相同的功能抽离出来,可能会大量用到的方法使用静态

《程序员的修炼之道:从小工到专家》的读书准备工作

创造是主动的,完成是被动的 创造是艺术,完成是任务 创造是激情,完成是无奈 当细品这三句话时,我就突然把它联想到了我和我这个专业的关系;大概在家里憋了7天吧,我还是在前天爆发了,在不断的挣扎.纠结.和自我否定等消极情绪中,这三句话点通了我,我试着将恐惧.压力.惰性以及侥幸全部转化为行动以及对我这个专业的不断认识中.去百度.知乎.简书等学术网站寻找软件工程这个专业对我自身的意义与价值,同时也在搜罗着看哪本书能够让自己快速认可我的这个专业,并在这个专业上有所图(当时分流时因为导师的一句话就迷迷糊糊的

《程序员的修炼之道——从小工到专家》读第一章有感

         九月份,我读了<程序员的修炼之道--从小工到专家>这本书,虽然只是读了其中小小的一章,却让我收获了许多,收益匪浅.     从<程序员的修炼之道>这本书的介绍部分可以看出,该书是一本很棒的作品,该书由一系列独立的部分组成,讲述了许多富有娱乐性的奇闻轶事.有思想性的例子.以及有趣的类比,内容丰富多彩,并且本书还阐明了软件开发的许多不同方面的最佳实践和重大陷阱,无论是初学者还是有经验的编程员,都能从中获益.书中更是例举了许多程序员对这本书的看法,从他们的介绍中让我认识

程序员的修炼之道:从小工到专家读后感2

程序的修炼之道:从小工到专家 第一章:注重实效的哲学 1.我的源代码让猫吃了 J.B.Bossuet说过“在所有的弱点中,最大的弱点就是害怕弱点”.一个注重实效的程序员,并不害怕承认无知与错误.一个被认为最好的项目中,尽管有彻底的测试,良好的文档以及足够的自动化(自动化是什么鬼?),程序还是会出错. 但是,一个程序员必须要诚实和坦率来应对这个问题.责任是一个程序员应该主动承担的东西.我们能承诺完成一件确定的事情,但是我们不能直接控制事情的每一个方面,所以做之前需要对这件事情先做风险预估.但是,当

读后感《程序员的修炼之道:从小工到专家》1

从前言得知,这本书想要告诉我们以一种我们能够遵循的方式去编程,这可能是每个编程人员的福音吧,还有要"思考你的工作",思考出合理高效的解决方案,我希望通过这本书 的阅读,能够更加的注重实效,具有一些适合编程的思想,“纸上得来终觉浅,绝知此事要躬行”,在日后好好实践才是良方. 自开始接触编程以来,编程就是一个抽象的存在,其实不然,“编程是一种技艺”,“编程可归结为让计算机做你(或你的用户)想要做的事情”,通过编程吧一些切合实际的想法或功能变成程序,书中提及的“注重实效的程序员”应该是早期的

程序员的修炼之道-- 从小工到专家 第二章读后感

该书第二章开讲述的是重复的危害,重复分为好多种,但每种重复的出现都是没必要的,重复的出现使得代码的运行效率大打折扣,并且占据了很多无意义的空间.要想解决重复的问题,关键要学会复用,要充分提高代码的利用效率,要做到复用一个代码要比自己新敲一段代码容易,这样就能养成遇到问题现找可复用的代码,而不是直接去新敲一段代码. 第二小节则是讲述了正交性的好处,在敲代码的过程中我常常遇到一些bug解决他们的时候难免要改来改去,到处去寻找问题发生在哪里,正交性就是解决这个问题的,正交性可以消除无关代码之间的联系,

程序员的修炼之道(六)

要配置,不要集成 要将应用的各种技术选择实现为配置选项,而不是通过集成或工程方法实现.Yii框架的组件便是这一思想的最佳实践. 使视图与模型分离 要根据模型和视图设计你的应用,从而以低廉的代码获取灵活性.最近的nodejs好火,前后端分离是必然趋势,纯粹的模型测试起来也是非常方便. 测试你的软件,否则你的用户就得测试 无情的测试,不要让你的用户为你找bug 使用项目词汇表 创建并维护项目中使用的专用术语和词汇的单一信息源.这一点深有感触,为了方便,项目中通常会有一些简称,他对于业务人员是熟悉的,

《程序员的修炼之道:从小工到专家》有感(二)

石头汤与煮青蛙--在这里有一个名词叫“启动杂役”,就是你明确的知道你想要做什么,并且知道自己是对的,整个系统就在自己的眼前,但请求许可去做整件事情的时候,你会遇到拖延与漠然.预算需要批准,事情会变得复杂化,每个人都会护卫自己的资源.这个时候士兵们会来煮石头汤,并建议村民如果加入...会更好来吸引村民,我们在做项目的时候亦可如此,先做出一个小产品,然后再说如果有...就会更好的,这是你就会得到原来想要的东西,因为让人们参与正在发生的成功更容易,让他们瞥见未来,就能让他们聚集在你的周围.因为没有人会

程序员修炼之道读后感4

最近阅读了<程序员的修炼之道:从小工到专家>第四章:“注重实效的偏执”首先我明白了一个人的精力是有限的,不可能写出完美的软件,所以我们会对自己编写的代码可能出现的错误书写另外的代码进行处理.我们要明确每个软件要做的事,规定每个方法应该发挥的作用,要控制好可能影响每个方法的结果的因素.我明白了要通过合约进行设计,并对输入方法的参数进行控制,要在代码中加入断言进行方法用真判断,当问题发生时,能够找到出错原因.我了解不变项的重要性以及语义不变项的概念.当使用资源完毕时,要记得释放,不然程序可能会出现