《移山之道》第十一章:两人合作 读书笔记 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>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...
随机推荐
- Codeforces 1169B Pairs
题目链接:http://codeforces.com/contest/1169/problem/B 题意:给你 m 对数 ,问你能不能在 1 − n 之间找到俩个不相等的 x 和 y 使得 对于前面每 ...
- 注解@Override
Android的开发者对@Override肯定是非常熟悉,不管是自己的代码中还是书上都会出现,但是他是什么意思呢?如下: @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: ...
- VC++ 2010 创建高级Ribbon界面详解(3)
3.工具栏 在传统的菜单式界面中,工具栏作为菜单的有益补充,被广泛使用.我们通过将一些常用命令放置到工具栏上,可以让用户直观而快速地访问到常用功能,提高了效率.在Ribbon界面中,工具栏得到了进一步 ...
- python基础讲解部分&纯小白需要扎实基础
第一章知识点 一.Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum),在中国人称龟叔 Python崇尚优美.清晰.简单 应用领域: (1)云计算,写 ...
- 2018年第九届蓝桥杯B组第四题:摔手机题解
摔手机 摔手机 动态规划 在蓝桥杯的时候遇到一次 当时没有做对 看了题解也没明白 如今再次遇到这个类似的题目 于是拿出来补补吧 摔手机题目如下: 星球的居民脾气不太好,但好在他们生气的时候唯一的 ...
- 21-7-数组相关api
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- linux下设置Git
目录 ## Git介绍 1.工作原理 2.SVN与Git的最主要的区别? 3.操作 4.创建本地仓库 5.把文件添加到本地仓库 6.版本回退 7.理解工作区(workspace)与暂存区(index) ...
- 第二天:PowerShell别名
1.查询别名: Get-Alias -name ls Get-Alias -name dir Get-Alias -name fl Get-Alias -name ft 2.查看可用的别名 查看可用的 ...
- python从字符串中提取数字_filter
my_str = '123and456' number = filter(str.isdigit, my_str ) # number = 123456 使用正则表达式: >>> i ...
- leetcood学习笔记-67-二进制求和
题目描述: 第一次提交: class Solution: def addBinary(self, a: str, b: str) -> str: list_a,list_b=[],[] for ...