一、关于构建之法得一些问题
1、第四章 -- 结对编程
关于结对编程,构建之法中得原文中是这么描述得,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档等。 对于书上得描述,我个人认为,这样得结对编程虽然可能会一定程度上降低在编码中得错误率,但是与此同时也会不可避免得带来效率上得降低,两个人面对一台机器的效率,个人认为是比不上两个人分工好以后 各自去实现自己的接口,然后互相调用各自的接口来得效率要高。只要每个人测试号自己负责的模块,也可以保证较低的错误率。
2、第三章 -- 选哪一种医生
原文如下:
a)刚刚在书上看到你的病例,开刀的过程中非常认真严谨,时不时还要停下来翻书看看…
b)富有创新意识,开刀时突然想到一个新技术、新的刀法,然后马上在你身上试验…… c)已经处理过很多类似的病例,可以一边给你开刀,一边和护士聊天说昨天晚上的《非诚勿扰》花絮…… d)此医生无正式文凭或正式医院的认证,但是号称有秘方,可治百病。
在这个问题上,我觉得,就医生这个职业,相信大家都会更愿意信任经验丰富,身经百战的医生。现实生活中也是如此,如果真的需要手术的话,很多人宁愿多等几天,也要预约一个经验丰富的老医生来亲自主刀。但是作为一个要随时应对客户不断更改的需求,我们更多的情况是没机会是去先去磨炼自己个两三年,然后回来为客户完成需求,我们只要做到如 a 那样,异常谨慎,仔细学习,确保正确的情况下,完成客户需求,保证客户体验感即可。
3、第十章 -- 典型用户
这个问题下我就不列举原文了,只是在读完这一章节以后比较好奇,我们在搜集完全部的典型用户的特征以后,从收益投入比最大的角度来看,我们是否可以放弃一小部分十分不同于大众的典型用户群体呢?
4、第十六章 -- 大家都喜欢创新
原文中提到,在算法和数据库领域,创新的想法一开始往往不被接受 ,以及面对自己的创新不被接受的时候要做到So, resumitt! PLEASE!!! ,这点我个人觉得,提出创新固然是好事,但是我们于此同时的也要考虑这将会给这个社会带来多大的变动,划时代的变革的确会极大的推动时代的发展,但是它也可能会使一代人付出代价.我们的创新最终的目的也是为了我们全人类能够更好的生活,如果这个创新过于超出这个时代,个人觉得还是先做好先前铺垫工作,才能让社会更好更平稳的向前推进。
5、第十七章 -- 猪、鸡和鹦鹉的故事
原文内容:加入一个团队时,要弄清楚自己在团队中投入的级别是什么,别人的期望值是什么。不要拿着卖白菜的钱,操那卖白粉的心——太不值得。 在一个创业团队中,既然大家已经组成了一个team,那么大家对我们现在要做的东西都要负起高度的责任,虽然大家投入的成本不一样,但是发现问题,解决问题,最后收益的也是我们团队中的每个人。
二、“软件” 和 “软件工程” 的来源
软件:最早在工程背景下出版的术语“软件”是由Richard R. Carhart在兰德公司研究备忘录中于1953年8月出版的,所以软件一词应是 Richard R. Carhart 率先提出。
软件工程: 软件工程一词是Margaret Hamilton在1969 年负责编写阿波罗登月代码是提出的。
三、主流项目管理软件的优缺点介绍
目前项目管理软件中,比较受人们青睐的有Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rational,Apple XCode。这几款软件几乎占据了所有使用项目管理软件的用户。但是他们究竟有何不同呢?这些软件的优缺点总结如下。
-
Microsoft TFS
优点:与VS 结合,界面功能全面
缺点:实际使用不方便,浏览器访问速度过慢
-
git
优点:灵活,速度快,强调个体,离线工作
缺点:学习周期长,代码保密性差
-
Mercurial
优点:有revset,扩展性好,append only的存储结构
缺点:分支管理不灵活,不适合大型团队使用
-
GitHub
优点:基于web, 支持源代码管理,界面优美
缺点:上手难度较高
-
Bitbucket
优点:对小团体免费,通过社交媒体和GitHub认证,支持导入较多其他类型的版本管理工具,如 git.
缺点:不开源,系统不稳定
-
Trac
优点:十分灵活,有良好的扩充性。
缺点:不支持多项目,需求和门栏没有分离
-
Bugzilla
优点:免费,且有中文版
缺点:只能管理缺陷,功能不健全
-
Rational
优点:更快的反应能力,更强的适应性。
缺点:软件体积过大。
-
Apple XCode
优点:自动创建分类图表,自动提供撤消、重做和保存功能,无需编写任何编码
缺点:更新版本时可能会导致部分插件失效
经查阅,以下是热门软件的用户量比较:
-
GitHub : 31,000,000
-
Bitbucket : 5,000,000
-
GitLab : 100,000