个人作业-Week1
问题1:程序员的优劣是否在软件开发中已经不重要了??用户实际关心的 外形,使用的乐趣和效率,自我形象,个人满足感,回忆,这么多条中,仅有效率与代码有关,而实际上用户比起效率却更在意其他这些“幺蛾子”。
2.接上,比起功能上的丰富,是否用户体验更加重要?就如同手机上微信,微博,QQ,淘宝,支付宝等诸多流行的APP,功能,代码复杂度并不高但却十分成功。
3.软件开发更重要的管理与分工,是否超出了我们的学科范围?例如管理学院的同学是否有他们来做更专业。
4.在我们的面向对象课程中,要求我们对代码进行覆盖性测试以确保正确性,而在这本书中似乎并未过于强调这一点,为什么?这样不应该更利于开发吗?
5.实际生活中绩效究竟如何考察?
软件一词最早出现于Richard R. Carhart 于1953年8月出版的书籍,软件工程则是Margaret Hamilton在它在阿波罗计划期间发明的
Microsoft TFS:
任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用,集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM,能与 VS 无缝接合。但是其搭建、维护tfs比较复杂,硬件要求也比较高
Mercurial:
采用了分布式系统,各种平台的一视同仁
Git:
分布式 去中心化使得更大的团队的维护变得容易。分支合并的方便和速度提升。每一个小的修改都可以立即commit,每一个小功能/fix都可以branch。这使得测试一个小修改该和drop一个小功能都非常的容易。但是他有着复杂的信息模型,在上学期OS的课程中git的学习着实让我头疼了一把。说实话至今仍未对于git的模型理解透彻。
Github:
基于git并有着web版页面,同时有着大量的开源代码。
Bitbucket:
免费支持私有仓库,支持中文
Trac:
是一个增强版的Wiki以及软件开发过程中的问题跟踪系统,
Rationale:
互联网上居然前几页都没有涉及这个软件。这可能就是一大缺点吧。。。。。
Xcode:
自动提供撤消、重做和保存功能,无需编写任何编码。