目的:提交每次做业html
我的博客:http://www.cnblogs.com/cxf1404445126/git
目的:管理你的项目,记录(源码、文档,历次版本变动,bug发现与修复)等信息。程序员
码云地址:https://gitee.com/cxf1404445126安全
快速通读教材《构建之法》,并参照提问模板,提出5个问题。
如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html ,以及 在互联网时代如何提问题。 还有这些要点:app
书的第三章的标题是 软件工程师的成长,其中在讲到其职业发展的时候,提到了一些软件工程师的职业资格考级,我想这一类的考试仍是比价注重理论方面的知识的,若是是在之前,我会很赞同这类的测试,那时候个人想法是一个优秀的软件工程师不管是理论仍是实践方面都是必需要精通的。学习
可是前不久,我看了保罗·格雷厄姆写的一本书《黑客与画家》,其中有一段话引发了个人注意:测试
人们没法考核你的工做,甚至误解你的工做,都不是最糟的事,更大的危险是你本身也会误解本身的工做。由于你老是从相关领域寻找新思想,若是你发现本身读的是计算机科学系,很天然地,你就会觉得“计算机科学”与其余“理论科学”并没有不一样,你的工做属于“理论计算机科学”所涉及的那种理论的应用研究。读研究生期间,个人潜意识里一直有一种很不舒服的感受,以为本身应该多学一点理论,不该该期末考试结束还不到三个星期,就把全部东西忘得一干二净,那样真是不可饶恕。翻译
如今,我意识到本身错了。黑客搞懂计算理论的必要性,与画家搞懂颜料化学成分的必要性差很少大。通常来讲,在理论上,你须要知道如何计算“时间复杂度”和“空间复杂度”;若是你要写一个解析器,可能还须要知道状态机的概念;除此以外,并不须要知道特别多的理论。这些可比画家必须记住的颜料成分少不少。设计
这一段话看起来是在说咱们在理论的方面并不须要掌握过多的相关知识,像上面提到的计算机等级考试,如今彷佛也不乏为考证而考证,考完之后没过多久就将这类的知识忘得干净,又或者是,在学完了这些理论知识后好久的一段时间都用不上,那么学习那么多的理论知识还有没有用呢,在理论知识和实践知识的方面咱们又该怎么权衡呢?htm
在书的61页有这么一段话:
这三个层次和教育理论中的三个区域的理论(温馨区,学习区,恐慌区)也很类似。图上的中间层次,就是咱们要尝试、失败、学习、再次尝试的学习区。一个初学者看到关于本领域顶尖人物事迹的报道,见贤思齐焉,也很想立刻就像顶尖人物同样的作事,或者得了一本《21天精通某某技术》的书籍,要求本身在21天达到最高层次。这其实是强迫本身进入“恐慌去”,因为没有实力,心理准备也不够,必然会出现“拖延症”等现象,结果确定是失败得很惨。这样的失败经验每每给人重大打击,让人不容易重整旗鼓,再开始学习。所以,选择适合的“学习区”来学习,不断构建本身的温馨区,从而扩展学习区,最后在某些领域达到技能的精通,是一个按部就班的好办法。
对于这三个区域我有以下几个疑问:
在第五章开头讲到了一些团队合做的模式。其中有一个模式是这样描述的(p99):
5.2.5 秘密团队(Skunk Work Team)
一些软件项目在秘密状态下进行,别人不知道他们具体在作什么。苹果公司1980年代在研发Macintosh以后的系统时,就有两三个团队在不一样时期进入秘密状态开发。21世纪的一些创业团队也是处于相似状态。这种模式的好处是:团队内部有极大的自由,较高的热情,没有外界的干扰(不用每周给别人介绍项目进展,听领导的最新指示,等等)。一个团队的成员若是有很大的自由度,又有独特的使命,这对于你们来讲,是很大的驱动力。这样的团队每每能发挥超高的效率完成看似不可能的任务。
对于这个模式,在最初看到的时候,就不是很懂它的运行方式,秘密状态下运行的软件项目,两三个团队不一样时期同时进入秘密开发,这样运做的话在开发不一样时期团队之间的交流看起来不是不少,这样真的能够保证团队的成员充分了解本身要作的项目吗,对于上面描述的这种模式的好处,自由,热情,我以为这即便是其余模式的团队也会有的特性。至于外界的干扰,我以为仍是有必要的,按期的向别人介绍项目进展,有助于及时发现问题,当局者迷,旁观者清,有时候别人看待咱们的项目会有一个更为清晰的方向,若是可以提前发现问题,及时改正,那不是能够减小大量的时间和金钱成本吗。
另外,为了更了解这个模式,我去网上找了一些相关的资料,可是经过我找到的资料,我发现苹果公司在研发Macintosh以后的系统时采起的秘密团队模式的主要缘由彷佛更可能是为了“秘密”而已。下面是我找到的一些资料:
苹果公司很是注重人才的选拔,为找到合适的优秀人选,他们投入了大量的时间和精力。这在CEO乔布斯的身上表现得尤其明显,他将本身大约1/4的时间都用于人才招募,从技术天才沃兹尼亚克,到Macintosh之父杰夫·拉斯金,再到设计大师乔纳森·艾维,苹果公司绝大多数骨干员工几乎都是乔布斯亲自挑选出来的。为找到最合适的人选,苹果公司还会使用一些不同凡响的选拔手段,并取得了意想不到的效果。同时,苹果公司也很擅长发掘员工的特长,并根据他们的特长来为其安排恰当的工做岗位及工做内容,实现真正的“人岗匹配”。
乔布斯认为这个世界没有全人也没有全才,但总有一部分是他们最优秀的,而苹果用的就是员工最优秀的那一部分。这就是为何一些员工在其余公司不被看好,加入苹果后却能发挥出巨大价值的缘由。此外,为了让精英更好地发挥做用,乔布斯创造性地提出了“A级团队”的概念,强调小团队的力量。因此,多年来,苹果公司的核心技术团队始终保持着小规模运做,不少项目的运营都由精选的设计师、程序员和管理人员组成的A级小组在执行,保证了价值创造的高效性。
虽然苹果同一团队的精英成员之间一直保持着高效的沟通和良好的默契,可是他们习惯自成一体,从不与外界进行过多的互动。例如,苹果的设计团队就不多参加行业盛事或者颁奖典礼,他们彷佛并不须要外界的确定,由于在他们看来,没有人会比他们在设计方面更加权威,分享更多的信息只会使得别人窥得秘密缩小差距。这种极度的自信和“舍我其谁”的气概正是苹果精英主义的最佳体现。
苹果公司总能在他们的发布会上像变魔术同样拿出各类神奇产品。但“魔术”之因此成为魔术,正是由于它让人捉摸不透底细,以后在不经意间给人出其意料的结果。对苹果公司来讲,这为产品保密带来了极高的要求。
再说苹果公司,他们的保密文化起源要追溯到1984年,乔布斯领导研发第一款Macintosh计算机的时候。直至今天,苹果的保密实验室都有多道安全门,须要扫描工牌和口令才能进入,办公室也处于不断监视下。
文章引用自:
因此我认为,苹果公司的运行模式更像是变形的功能团队模式,对于要秘密进行开发,实属无奈之举,那么个人问题是秘密团队开发的运行机制究竟是怎样的?好处又有哪些?但愿老师能够给我一个更为清晰的回答。
第八章用了一整个章节来说需求分析,也介绍了不少需求分析的方法,那咱们应该如何在需求分析的时候选择适合本身的分析方法?进行需求分析的时间又应该占整个产品开发时间的多大比重?若是后期须要不断地对需求进行从新调整,那么前期在制定需求分析的时候是否能够不用太过精细,只要列个大概的分析,等到后期开始开发产品的时候再根据实际问题进行细化?
本书的262页在谈到用户体验时举了这么一个例子:
用户须要帮助,可是用户没有那么笨
微软必应搜索有一个“实时显示英语解释”的功能,可是这个功能把鼠标所在的全部英语单词都解释一下,包括小学生都懂的“a,of,at,on,and,the,he,she,…”,用户的鼠标经常会无心地停留在这些词语上面,你会看到这个“英语翻译”功能自做多情地告诉你“a”是什么意思,顺便把页面上的其余文字给遮住了。
事实上,对于这个例子,我我的认为屏幕取词这个功能将这些简单词进行翻译没有什么不妥,它只是很忠实的执行了本身的任务,这些词或许是大部分人眼中的简单词,可是若是由于这个缘由就武断将这些词不归入翻译的行列,那用户的体验又能所以提高到什么程度呢?(对于有强迫症的我,要是发现它会不显示某些词的解释,兴许还会以为这是bug呢)另外,每个人对于简单词的定义彷佛也没有那么清晰,若是非要强行取消某些词解释,那也很难界定其范围,因此想一想仍是全部词都解释的方法比较稳妥,或许之后能够改进一下,根据每个人词汇量来进行屏蔽部分词语的解释什么的(emmm好像扯远了)。
【附加题】:请将问题提交至豆瓣:https://book.douban.com/subject/27069503/, 并在博客中给出连接
在豆瓣页面的最下方 “读书笔记” 那里发言, 《构建之法》的做者会亲自答复问题
豆瓣连接:https://book.douban.com/annotation/61321176/
完成如下Git基本操做
git的基础配置:
将连接仓库内容fork到本身的帐号下:
将远程仓库clone到本地仓库:
在本地仓库添加学号姓名.txt(例如:201621123000happy.txt),并提交至远程仓库
在本地修改该文本内容并再次提交