《移山之道》第十一章:两人合作 读书笔记 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>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...
随机推荐
- Codeforce 1182B Plus from Picture
题目链接:http://codeforces.com/problemset/problem/1182/B 题意:检查图中 * 形成的是否是唯一的十字. 思路:dfs找到十字的中心,反向消除十字,最后检 ...
- (转载)js调用打印机 打印整体或部分
本文转载自:https://www.cnblogs.com/lfhy/p/6802781.html 以下为原文内容: 有时前端的项目中需要添加打印的功能,首先要知道打印分为整体打印和局部打印两种,而局 ...
- swiper实现上下滑动翻页,内置内容页也滚动
如果我猜的没错,是全网(哈哈)比较少的成功解决方案,如需要转载,请声明并转载出处. swiper实现了上下滑动翻页,但是有几个页面的内容显示不完.如果一页显示不完时可以滑动查看,应该怎么做?这个是我多 ...
- idea springboot 打包 war
1.pom文件中将项目改为 war
- linux下alsa架构音频驱动播放wav格式文件
#include<stdio.h> #include<stdlib.h> #include <string.h> #include <alsa/asoundl ...
- tomcat 启用https协议
利用tomcat服务器配置https双向认证. 1.为服务器生成证书 打开cmd,进入jdk的bin目录下,输入下面的命令: keytool -genkey -v -alias tomcat -key ...
- Vue登录登出以及JWT认证
数据模型 主要用户名,密码,邮箱,头像,身份 const mongoose = require('mongoose') const schema = new mongoose.Schema({ use ...
- C# 模拟http请求网页数据 [网页爬虫]
using System; using System.Collections.Specialized; using System.IO; using System.Linq; using System ...
- springmvc之json交互406异常(Not Acceptable)和415异常(Unsupported Media Type)
一. 406异常(Not Acceptable) 1. 没有添加jackson-databind包2. 请求的url的后缀是*.html.在springmvc中如果请求的后缀是*.html的话,是不可 ...
- 通过js渲染高层级DOM实现网页加水印
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...