项目 | 内容 |
---|---|
这个做业属于哪一个课程 | 2019春BUAA SCSE软件工程 |
这个做业的要求在哪里 | 第1次我的做业 |
我在这个课程的目标是 | 学习团队开发项目,为之后的工做提供经验 |
这个做业在哪一个具体方面帮助我实现目标 | 阅读了《构建之法》,了解到了软件工程的思想 |
既然代码复审能发现这么多问题,有这么好的效果,若是咱们每时每刻都处在代码复审的状态,那不是很好么?事实上,极限编程(Extreme Programming)正是这一思想的体现——为何不把一些卓有成效的开发方法用到极致(Extreme),让咱们无时不刻地使用它们?
-- 引用自《构建之法》4.5 结对编程 P78git
在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工做。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一块儿工做。他们一块儿分析,一块儿设计,一块儿写测试用例,一块儿编码,一块儿作单元测试,一块儿作集成测试,一块儿写文档,等等。
-- 引用自《构建之法》4.5 结对编程 P79程序员
这样的结对编程真的是有效率的方法吗?它和普通的两人团队效率会更好吗?最初的结对编程多是由于资源的不足,可是现现在可能除了时间之外的资源都是充足的,这种传统意义上的结对编程是否是会太过于消耗时间?赛车和飞机里驾驶员和领航员是不能同时开飞机,但对于代码的撰写能够两人同时撰写,再抽出必定的时间进行审查,是否会比这种纯粹的结对编程效率高?github
函数最好有单一的出口,为了达到这一目的,可使用goto。只要有助于程序逻辑的清晰体现,什么方法均可以使用,包括goto。
-- 引用自《构建之法》4.3 代码设计规范 P69编程
在我最开始学习C语言(《C Primer Plus》)的时候,我记得很清楚,书上关于goto语句的态度就是不建议使用,我也常常据说不建议使用goto语句,由于goto语句确实可能存在着必定的问题,并且很难被本身发现,尽管goto语句在某些状况很是好用,好比在上学期的编译课程设计里对于各类各样的错误处理,使用goto语句会很是的简单,可是我最终仍是没有采用,而是使用了大量的if-else和return语句来进行处理。我我的仍是不太喜欢使用。服务器
的确,如书中所提到的有些行业的先行者到了后来并非该行业的领导者,可是我以为这正是由于该行业的后来者的创新而致使的,因为后来者的创新,他们有了新功能,有了更加吸引消费者的地方,所以他们才能成为领导者,创新也才能身先士卒。网络
我以为在如今,让用户犯简单的错误却成了一种设计——如今不少的常见的软件老是将广告塞在巧妙的地方,不仔细看都不会发现那小小的“广告”两个字,好比微博中常常就有这种广告,配以诱惑性的图片和文字,当手指移过去才反应过来这是个广告。这种广告必定程度上影响了用户的体验,却可能提升了广告的效应同时可能增大了企业的利益,那么该如何平衡项目受益以及用户体验呢?同时,提升用户的体验势必要付出更多的代价,这里又该如何平衡呢?分布式
70%的创新者说,他们最成功的的创新,是在他们的那首领域以外发现的。
-- 引自《构建之法》16.1创新的迷思 P347函数
我认为这的确是个迷思,我以为其中的缘由多是当一我的成为了某一行业的专家,那么他确定是有着必定的研究方向,其产生创新的几率就比那些刚入门的人小,由于他颇有可能会坚持这本身的方向去钻研。那咱们又该如何避免这一问题出现呢?毕竟咱们也是要一直研究、一直学习的,是否是意味着,咱们到后来也将没法产生创新?被后人所追赶?gitlab
根据维基百科,“软件”这一律念最先是Richard R. Carhart在出版于1953年8月的兰德公司研究备忘录(Rand Corporation Research Memorandum)里出现的。单元测试
“软件工程”这个词在1965年6月就在计算机与自动化的期刊被提出了(来源维基),但玛格丽特·汉密尔顿则在1968年北约的科学家们所开的一届会议上比较正式的提出了这一个概念,使之成为一种专业术语。
软件 | 优势 | 缺点 |
---|---|---|
Microsoft TFS | 强大 集成了多种功能,适合团队使用 |
搭建起来复杂,难以维护 |
Git | 分布式版本控制 易于控制,很是灵活 |
命令太多,学习起来难度略大 |
Mercurial | 命令行 简洁 服务器部署相对容易 |
执着于向后兼容 |
GitHub | 免费 开源 基于Git |
依赖于网络 |
Bitbucket | 支持hg(Mercurial?)和Git 免费闭源 |
限制人数 |
来源: