ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-10-29 18:54:42  阅读:199  来源: 互联网

标签:读后感 Use Shell 代码生成 程序员 源码 修炼 文本 Bug


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

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

让工具变为双手的延伸
纯文本的威力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

标签:读后感,Use,Shell,代码生成,程序员,源码,修炼,文本,Bug
来源: https://www.cnblogs.com/haheihei/p/11760760.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有