读《移山之道——VSTS软件开发指南》

读《移山之道》这本书差不多用了一个星期的时间,感觉还是收获了一些知识的,以前只是会简单地编个小程序(虽然现在也是这样),但看过这本书之后我对软件开发这个概念的认识度有了从一片模糊到了解大体概念的转变。但是毕竟用一周时间读透这么一本完整的书不是一件简单的事情,我也只是了解到了一些皮毛,在阅读的过程中也遇到了很多问题,一些基本的问题在后面的学习中已经解决了,有的还在困扰着我。

(1)在书中了解到了一个术语叫 Work Item,但书里并没有提到一个vs里出现过的叫做issue的Work Item,这是什么情况呢?

  经过了解发现,这本书里讲到涉及到vs的都是vs2005,由于版本较老,没有issue这个Work Item,而现在的高一点版本的vs则有issue。我没有较多的实践用过这个Work Item,但据我查资料所了解这个Work Item实际用起来还是挺方便的,预估风险以应对敏捷开发里的突发状况等等。

(2)关于敏捷开发,前期的设计很重要,开始可能会写的非常简单,但经常在后期代码增多时发现简单的方法已经不能用了,会出现不一致的情况。之后可能还要重写,比较繁琐。当然解决这个问题的方法无疑是在下手之前先考虑周全,但是这个看似简单的方法几乎没有人能百分之百做到,感觉比较不好把握。

(3)结对编程是一类创新型的编程方法,一个独立的工作由两个人一起合作完成,这种方法有利也有弊。

  益处很多,比如

  1)结对编程让我们在有partner的前提下更有信心,有人和自己并肩作战。也更有动力,不能被同伴落下,不能拖同伴的后腿。

  2)由于是两个人一起完成,所以思维更加多元化,方法也比较多,可以在众多选项中选择最好的那个,提高编程的质量。

  3)结对编程能够更有效地交流,相互学习和传递经验。

  Every coin has two sides.结对编程的益处这么多,那有什么弊端呢?

  我想经历过的程序员都知道,这种编程方式需要双方进行深入的沟通交流,交流的好了才能保证代码的质量,但是万一双方不是适合彼此的partner,问题就大了,从来不沟通  交流,又或者两个人的思维习惯变成习惯差异大,自己做自己的又做不好,去合作又找不到合适的方法,确实很揪心呢。

  不过这种问题也很好解决,因此我们应该要学着去结合双方的思维和能力,去一起解决问题。

(4)这本书只要瞄过一眼的就知道,整本书是讲故事为一条线来展开的,刚接触的时候还觉得很新鲜,读到中间会觉得有点为了讲故事而讲故事,很牵强的与知识联系到一起,但是读到最后就变得豁然开朗,回顾整本书,如果没有这个故事,那可能有一大半的东西理解不了也记不住,总之这种方式还是挺吸引人的,也能让人更好的学习。但是这种方式是不是能让大部分的人接受呢?我认为可以做一些调查,征集大家的建议,好的地方继续发扬,需要改进的地方加以修改,或许效果会更好吧。

(5)最后一个问题是我没找到答案的,也思考了很久。TFS中为什么不允许Dev自己添加任务呢?有什么限制的地方?

时间: 2024-10-26 16:38:36

读《移山之道——VSTS软件开发指南》的相关文章

深入理解Java虚拟机到底是什么

摘自:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 我们都知道Java程序必须在虚拟机上运行.那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的解释: 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机有自己完善的硬体架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的

(1) 深入理解Java虚拟机到底是什么?

好文转载:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的.但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了.在本文中,我会写下我对虚拟机的理解.因为能力所限,可能有些地方描述的不够欠当.如果你有不同的理解,欢迎交流. 我们都知道Java程序必须在虚拟机上运行.那么虚拟机到底是什么呢?先看网上搜索到

《深入理解Java虚拟机》读书笔记---第一章 走进Java

一.为什么要读此书 <深入理解Java虚拟机>这本书读了很多次,每次读都会有不一样的感受.首先说一下为什么要读这本书,如果把Java比喻成乾坤大挪移,那了解虚拟机的工作原理就是练习九阳神功,java语言是招式,对虚拟机的认识是内功心法,只有内功心法强大,所使的招式才强大,这就是为什么阳顶天只能把乾坤大挪移练到第四层,而张无忌能练到第七层.由于java虚拟机的强大,把很多功能都隐藏了,例如内容管理,垃圾回收机制等,使得很多java程序猿对这一块的知识所有缺失,编码的时候也是似懂非懂的,以至于遇到

jvm--深入理解java虚拟机 精华总结(面试)(转)

深入理解java虚拟机 精华总结(面试)(转) 一.运行时数据区域 3 1.1 程序计数器 3 1.2 Java虚拟机栈 3 1.3 本地方法栈 3 1.4 Java堆 3 1.5 方法区 3 1.6 运行时常量池 4 二. hotspot虚拟机对象 4 2.1 对象的创建 4 检查 4 分配内存 4 Init 4 2.2 对象的内存布局 4 2.3 对象的访问定位 4 使用句柄访问 4 使用直接指针访问 5 三. OutOfMemoryError 异常 5 3.1 Java堆溢出 5 3.2

深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)

周志明的<深入理解Java虚拟机>很好很强大,阅读起来颇有点费劲,尤其是当你跟随作者的思路一直探究下去,开始会让你弄不清方向,难免有些你说的啥子的感觉.但知识不得不学,于是天天看,反复看,就慢慢的理解了.我其实不想说这种硬磨的方法有多好,我甚至不推荐,我建议大家阅读这本书时,由浅入深,有舍有得,先从宏观去理解去阅读,再慢慢深入,有条不紊的看下去.具体来说,当你看书的某一部分时,先看这部分的章节名,了解这部分这一章在讲什么,然后再看某一章,我拿"类文件结构"这一章来说,我必须

读深入理解Java中的String(包括JVM)一文总结和提升

读深入理解Java中的String(包括JVM)一文总结和提升 摘要:String作为Java语言中的字符串模拟类,无论是实际的编程工作还是笔试面试过程,都需要我们都String类非常熟悉,对于String类的大部分字符串操作方法,都必须达到熟练运用的程度才行.但是,笔试和面试过程中,面试官往往喜欢问一些String特性相关的题目,来考察面试者对于String基础知识的掌握是否牢固.(本人尚未研读深入理解JVM这本书,分析JVM都是查看网上资料来分析的,若在接下来的内容有分析不到位的地方请见谅和

《深入理解Java虚拟机》:类加载的过程

<深入理解Java虚拟机>:类加载的过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.其中类加载的过程包括了加载.验证.准备.解析.初始化五个阶段. 下面详细讲述类加载过程中每个阶段所做的工作. 加载 加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情: 1.通过一个类的全限定名来获取其定义的二进制字节流. 2.将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构. 3.在Java堆中生成一

【深入理解Java虚拟机】类加载机制

本文内容来源于<深入理解Java虚拟机>一书,非常推荐大家去看一下这本书. 本系列其他文章: [深入理解Java虚拟机]Java内存区域模型.对象创建过程.常见OOM [深入理解Java虚拟机]垃圾回收机制 1.类加载机制概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 在java中,类型的加载.连接和初始化过程都是在程序运行期间完成的,这种策略虽然会带来一些性能开销,但是却为jav

深入理解java虚拟机笔记(一)-java内存区域与内存溢出

1. 前言 这是深入理解java虚拟机一书的笔记,来自第二章.因为这本书讲的比较深奥,这是第二次看,需要记录一下笔记. 2. 运行时数据区域 java虚拟机所管理的内存分为以下几个区域. ps:图片来自网络 2.1 程序计数器 程序计数器是一块较小的内存空间,他可以看做是当前线程所执行字节码的行号指示器.字节码解释器工作时就是通过改变这个计数器的值来选去下一条要执行的字节码指令,分之.循环.跳转.异常处理.线程恢复等基础功能都需要依赖这个计数器来完成. 这块内存是线程私有的内存. 如果线程在执行

《深入理解java虚拟机》:类的初始化

深入理解java虚拟机>:类的初始化 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.其中验证.准备.解析3个部分统称为连接.类加载的过程包括了加载.验证.准备.解析.初始化五个阶段. 加载.验证.准备.初始化和卸载这5个阶段的顺序时确定的,类的加载过程必须按照这种顺序按部就班的开始,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定).另外注意这里的