编程中,调试几乎是必不可少的,一劳永逸.一次完成预想功能而完全不出bug的情况凤毛麟角,出现bug→调试→再出现bug→再调试……基本是软件工程中的常态.可以说,软件调试是每个coder的必修课,而<软件调试修炼之道>便是一本调试教科书,考虑到前两次大作业中出现的各种bug,我有必要系统地学习debug的一些思想和技巧,因此本周我阅读了这本书的Part 1:问题的核心.这一部分由五章组成:山重水复疑无路,重现问题,诊断,修复缺陷,反思.以下我将分别浅谈我的阅读感想. 1.概览调试:流程.问题和…
<代码整洁之道>ch1~ch4读书笔记  <clean code>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码.冗余注释等带来的毁灭性后果,并且结合多段代码块.非常详尽地将“书写整洁代码的技巧与守则”教给读者.以下,是我本周细读其前四章的心得体会. 1.      Ch1:整洁代码三问:是什么,为什么,怎么做 为什么要写整洁代码?书中首先列举了几条案例,比如某公司的热门软件由于混乱代码导致无法维护.开发团队因为混乱代…
 本周在考虑阅读材料时,我翻阅了<移山之道>,正好看到这一章:两人合作,心想:正好,我们正值结对作业的紧要关头,书中两人合作的宝贵经验和教诲应当对我们有很大帮助.于是,我开始一边在ddl苦海中扑腾挣扎,一边抽空读完了这一章,确实受益匪浅. 这一章首先由一个时间估计的小故事引入:从北京火车站到八达岭长城需要多久.书中两位同学分别考虑不同情况,给出了截然不同的估计,由此引出项目管理要素三角形:功能.资源和时间.这三者在项目中相互制约,维持其平衡方能做好项目.回想这一周我们奋战的经历,首先时间方面紧…
<代码整洁之道>ch5~ch9读书笔记 本周我阅读了本书的第5~9章节,进一步了解整洁代码需要注意的几个方面:格式.对象与数据结构.错误处理.边界测试.单元测试和类的规范.以下我将分别记录各章的阅读心得体会. 1.      Ch5: 代码格式:简单而一致 一直以来,“让代码能工作”是我编程时的头等大事.但事实上,尤其是涉及到体量庞大.经常修改的工程代码时,代码格式才是重中之重.显而易见,一套整洁规范的代码格式能给软件的开发.测试和维护提供巨大方便,而随心所欲或不统一的代码格式则会大大增加代码…
内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态. 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态. 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来捕获并显示. 而内核是直接和硬件交互的,内核出错之后整个系统就无法正常运行了,所以要想熟练的进行内核调试, 首先要熟悉内核已经给我们提供的工具,然后实实在在的去做一些内核功能的开发,在开发的过程中不断熟悉内核代码,增加内核调试的经验. 主要内容: 内核调试的难点 内核调试的工具和方法 总结 1. 内…
MSF-微软解决方案框架,是一套大型系统开发指南,它描述了如何用组队模型.过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考.在现在的软件开发项目中每一个软件开发项目都要经过 一个生命周期.MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它瀑布模型中基于里程碑的规划与螺旋模型中的增量迭代的长处结合起来.MSF作为现在流行的软件开发思路,其有自己的基本原则. MSF基本原则: 1:推动信息共享和沟通 2:为…
以便宜的价格买入长期绩优的股票 他把对公司的投资看做是拥有公司的一部分股权,看重的是公司的长期经济价值 别人越是草率,我们越要加倍慎重 如果你发现自己已经在陷阱中,最重要的是想办法让自己不要再往下陷 如果一开始就成功的话,就不要再试了 多数人买股票都是跟风,其实应该登到没人有兴趣时再进入.买热门股票是不可能赚大钱的 在卖出时别怕狮子大开口,在买入时尽管出低价 民意调查不能取代个人思考 不知为何,人们总是关注价格甚于价值.永远记住:“价格”是你付出的,“价值”才是你得到的 历史告诉我们,人类是不会…
总览 第2章 首个单元测试 第3章 使用JUnit编写测试 3.1 构建单元测试 3.2 JUnit的各种断言 3.3 JUnit框架 4. 测试什么? 5.CORRECT(正确的)边界条件 6.使用Mock对象 7. 好的测试所具有的品质(A-TRIP) 8. 在项目中进行测试 9. 设计话题 总览 这是本相对简单的书,书中采用的JUnit的版本也是旧的,但是在新的JUnit4下稍做修改依然可以运行.重要的是通过这本书了解JUnit在Java的单元测试中是如何使用的. 第2章 首个单元测试 计…
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ----------------------------------------------------------------------------------------------------- 自动化测试 1.有效的自动化测试 明确说明测试结果是否通过 不需要安装.测试后也能够撤销对环境所做的任何修改 单击运行所有的测试 全面覆盖,做到足够解决完全覆盖是可能的 2. 自动化测试…
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! -------------------------------------------------------------------------------------------- 缺陷优先 如何使缺陷修复与软件开发相结合? 如何估计缺陷修复花费的时间? 如何确保项目不会陷入<人月神话>中所描述的无数缺陷修复的焦油坑中呢? 缺陷优先 要采用早起缺陷修复原则,并且基于以下两…