《移山之道》第十一章:两人合作 读书笔记 PB16110698 第六周(~4.15)
本周在考虑阅读材料时,我翻阅了《移山之道》,正好看到这一章:两人合作,心想:正好,我们正值结对作业的紧要关头,书中两人合作的宝贵经验和教诲应当对我们有很大帮助。于是,我开始一边在ddl苦海中扑腾挣扎,一边抽空读完了这一章,确实受益匪浅。
这一章首先由一个时间估计的小故事引入:从北京火车站到八达岭长城需要多久。书中两位同学分别考虑不同情况,给出了截然不同的估计,由此引出项目管理要素三角形:功能、资源和时间。这三者在项目中相互制约,维持其平衡方能做好项目。回想这一周我们奋战的经历,首先时间方面紧缺,我接到班里团支部申优的大锅,要花很多时间收集、撰写材料;张行健同学则有期中考,需要全力复习。同时,我们都有满满当当的课业虎视眈眈地盯着我们,实在是脱身不易。想到班里大多数同学也都是这样的情况,不免轻叹。其次,功能方面又是一大难点。结对作业中的需求总有些朦胧,在群里大家提问后又一步步将要求具体化,还有一些要求是在群里提、很快被水掉的。这要求我们在尽快满足现有功能需求的同时,时刻注意有没有新的功能需要实现,而功能的实现都需要时间。最后是资源,这方面主要在于我们的知识水平。我们对c++的一些使用有基本的了解,也都学过点数据结构,翻着“栈”那一章的书敲敲OPTR\OPEN还是能做的。但dll封装方面我们事前都没涉及过,网上的教程也非常垃圾,耗费了我们许多时间,最终在同组马同学的帮助下磕磕碰碰地实现了。平衡这三方面,确实说来容易做来难。
随后,书中又谈起了单元测试的重要性,坦白说从上一次个人作业开始,我就一直在尝试做单元测试,但始终没能掌握带全局变量的单元测试如何进行。总而言之单元测试的重要性和快速、覆盖广等原则,我大致是体会得真切了,今后有机会一定系统学习。
最后,是与我们结合最紧密的话题:结对编程。正如邓老师所说,结对编程分为领航员和驾驶员的角色,一者负责监督、检查,一者负责实际编码,两者身份定时互换。结对编程的好处主要有合作、信心和交流,且能让代码处于不断“复审”的状态,大大减少bug率。回想这一次编程经历,我们一起讨论架构、轮流实现具体模块,虽然刚开始工作时还不太适应,但渐渐习惯后就能体会到结对的益处。有时某个相似的变量引用出错,或者某个条件分支判断出现了逻辑漏洞,队友之间能很快相互提醒,规避了许多大坑。虽然我们并没有像书上那样严密地分工,实际上我们的分工还是相当随意的,但仍旧感觉很棒。书中将结对编程的过程比作舞蹈,我感觉还是挺恰当的,不过由于课业繁重的原因,我们合作的时间还比较短,从磨合到创造的过程还是有点雷厉风行,希望日后还有机会继续合作。
总而言之,这一章让我加深了对单元测试重要性的认识,了解到项目管理的三角平衡哲学,也体会到了结对编程的优势,希望本次结对编程能画下圆满的句号吧。
《移山之道》第十一章:两人合作 读书笔记 PB16110698 第六周(~4.15)的更多相关文章
- 《移山之道:VSTS软件开发指南》读书笔记
这两天看了<移山之道:VSTS软件开发指南>,对团队软件开发又有了新的认识.也许对于我们这些软件开发的新手来说,最重要的是具体技术与应用框架,但读了这本书后我感觉到,实际团队项目中工具的使 ...
- 《软件调试修炼之道》Part 1(CH1~5)读书笔记 PB16110698 第八周(~4.26)
编程中,调试几乎是必不可少的,一劳永逸.一次完成预想功能而完全不出bug的情况凤毛麟角,出现bug→调试→再出现bug→再调试……基本是软件工程中的常态.可以说,软件调试是每个coder的必修课,而& ...
- 读《移山之道——VSTS软件开发指南》
读<移山之道>这本书差不多用了一个星期的时间,感觉还是收获了一些知识的,以前只是会简单地编个小程序(虽然现在也是这样),但看过这本书之后我对软件开发这个概念的认识度有了从一片模糊到了解大体 ...
- 读《移山之道-VSTS软件开发指南》
首先,我选择<移山之道>有几个原因.第一,书的名字给我一种新鲜感,而不是像另外两本书那么平常:第二,作者邹欣是老师推荐的,看一看他的书或许能让我发现老师对他推崇备至的原因,而实际上,读完这 ...
- 开发之道——读《移山之道——VSTS开发之道》后感
开发之道——读<移山之道——VSTS开发之道>后感 <移山之道——VSTS开发之道>(下简称<移山之道>)是邹欣老师的另一本书.相传很有名的<构建之法> ...
- 《移山之道》Reading Task
老师布置的阅读任务虽然是附加的作业,但是对我来说是个很好的学习机会.软件工程主要是对工程的开发进行学习,毕竟在学校老师教了那么多的知识,我们课下做了那么多的练习并没有提高我们做一个工程的能力.一个项目 ...
- 第三章 Git的入门 - 读书笔记
Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...
- Java编程思想——第17章 容器深入研究 读书笔记(三)
七.队列 排队,先进先出. 除并发应用外Queue只有两个实现:LinkedList,PriorityQueue.他们的差异在于排序而非性能. 一些常用方法: 继承自Collection的方法: ad ...
- 《代码整洁之道》ch1~ch4读书笔记 PB16110698 (~3.8 第一周)
<代码整洁之道>ch1~ch4读书笔记 <clean code>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...
随机推荐
- caller.arguments.callee.eval
------------------------------------ 1.函数的调用方式,与this的指向问题,原型对象中的this 2.对象创建的几种方式! 3.str.replace 页面初始 ...
- 4、通过uiautomatorviewer实现appium元素定位
熟悉selenium自动化的小伙伴应该知道WebDriver 提供了八种元素定位方法: idnameclass nametag namelink textpartial link textxpathc ...
- 序列化之 TLV
目录 序列化之 TLV 1. 紧凑模式 2. 可扩展性 3. 更好的可扩展性 4. 自解释性 5. 跨语言特性 6. 代码自动化:IDL语言 7. 总结 序列化之 TLV 通信协议可以理解两个节点之间 ...
- 51-Ubuntu-打包压缩-1-打包压缩简介
打包压缩是日常工作中备份文件的一种方式 在不同操作系统中,常用的打包压缩方式是不同的 Windows 常用 rar Mac 常用 zip Linux 常用 tar.gz
- docker容器和宿主机时间不一致的问题
第1种:复制宿主机的localtime文件,到容器里docker cp /etc/localtime threg:/etc/ 注:这里 threg为容器名称,复制完后需重启容器 第2种在构建docke ...
- MySQL高可用配置(主从复制)
主从复制包含两个步骤: 在 master 主服务器(组)上的设置,以及在 slave 从属服务器(组)上的设置. 环境: MASTER: 192.168.155.101SLAVE: 192.168.1 ...
- 1.Struts2快速入门
Struts2是一个基于MVC设计模式的Web层框架 Web层框架的特点:前端控制器模式 快速入门 1.下载Struts2的框架包 https://struts.apache.org/ 2.导入jar ...
- Tools: geos 使用指南
1. 下载geos 2. 进入VS开发人员命令提示3.依次执行如下命令 >VCVARS32.BAT>cd D:\DevTool\geos-3.7.0>atuogen.bat>n ...
- 7.12模拟T2(套路容斥+多项式求逆)
Description: \(n<=10,max(w)<=1e6\) 题解: 考虑暴力,相当于走多维格子图,不能走有些点. 套路就是设\(f[i]\)表示第一次走到i的方案数 \(f[i] ...
- 帝国cms采集关键字方法
1.系统设置——管理数据表——管理字段——增加字段(字段名:keywords字段标识:关键词字段类型:字符型0-255字节长度:70存放表:主表前台内容显示:钩选"将回车替换成换行符&quo ...