项目 | 内容 |
---|---|
做业所属课程 | 软件工程班级博客 |
做业要求请点击连接查看 | 做业要求 |
我在这个课程的目标 | 学习如何用工程化方法构建和维护软件 |
这个做业在哪一个具体方面帮助我实现目标 | 经过阅读《构建之法》,认识了解软件工程 |
我看了这一段文字数据库
这个毛病早就被概括为“过早的优化是一切罪恶的根源”。编程
有这个问题:什么是过早的优化?什么是合理的优化?若是全局过于大,又是否要去了解彻底局后,再决定是否优化以及怎么优化?后端
我看了这一段文字服务器
结对编程中驾驶员和领航员的角色要常常互换,避免长时间紧张工做而致使观察力和判断力降低?框架
有这个问题:在这里使用驾驶员和领航员用做类比是否不恰当?其次,是否专精一个岗位比常常交换好?我查了资料,赛车中的驾驶员,是负责快速按照指令完成驾驶动做的,领航员则要负责观察道路,给出车速和挡位的建议,以及驾驶指令。能够说二者须要的能力是有区别的,很难交换。在结对编程中,常常互换,会不会致使思路打断,或者产生冲突等等,下降效率。编辑器
我看了这一段文字分布式
如何正确地给予反馈。1.最外层:行为和后果。2.中间层:习惯和动机。3.最内层:本质和固有属性。学习
有这个问题:在书上例举的例子中,选择最外层的方式的效果是最差的,而选择最内层的方式的效果是最好的。那么是否每次选择的结果,就必定是这样呢?我发现书上尽管是在讲如何正确地给予反馈,可是举的例子都是在指出不足,那表达感谢又该如何正确地给予反馈呢?我想到了一个例子,想表达别人代码写的好。最外层:你此次的代码写的很好,我相信咱们会取得好的成绩。中间层:你一直都习惯不断的完善代码,很富有责任感,想把本身的部分作好,使得整个项目更好。有你在这个团队,我感到很高兴。最内层:你是一个精益求精,一丝不苟的人,作什么事都很认真,很努力,果真你此次写的代码,依然很好。所以个人疑惑是,如何正确地给予反馈,是否还要考虑情感因素,来选择最内层或是最外层。优化
我看了这一段文字插件
这些故事的另外一个引伸是——他们都是独立工做,没有一个阿基米德团队或者“牛之队”在背后支持。
有这个问题:伽利略的自由落体定律和开普勒的行星运动规律算不算“牛之队”在背后支持?我查了资料,尽管这些科学家和牛顿并无直接共事,但他们和牛顿都有共同的目标——解释天体运动问题。他们为牛顿提出他划时代的理论,提供了坚实的理论基础,我认为这属于一种有共同目标的团队的背后支持。同时开普勒定律的提出,也不是独立工做的结果。在开普勒与第谷共事十个月后,开普勒利用第谷留下的大量的宝贵的资料,最终提出了开普勒定律,这也是共同合做的宝贵成果。
我看了这一段文字
近代以来,不多能有人独立推出前无古人的发明创造。
有这个问题:这是属于人的问题,仍是属于时代或社会发展问题?我查了资料,我以为有三方面缘由,一.科技黑箱的出现,科技知识和其余要素被集成于某种框架之中,并不须要知晓里面运用的技术,只要能执行操做知足需求就好。二.随着科学技术的不断产生、分化、延伸,一我的须要花不少时间,去掌握一门特定方向的有局限性的技术,但发明创造经常须要多门技术的协做。三.现在的社会,很是讲究节奏和效率,团队协做带来的在进度方面推动的优点被大大致现,也就让人很难去选择独立发明创造。由此我获得了另外一个疑惑,随着人类社会的发展,独立推出发明创造是否是将愈来愈难?
1975年,艾伦和盖茨给Altair 8800计算机写了个BASIC解释器卖给MITS,他们很快完成了解释器,甚至包括本身的IO系统和编辑器,一共只须要4k内存。 不过最后他们发现还须要一个引导程序将这些东西从外存整进去。 Paul Allen在飞机航班上完成了这项工做。这是1975年,没有笔记本。他用的是纸笔。写的是8080机器码。
来源:知乎
软件 | 优势 | 缺点 |
---|---|---|
Git | 适合分布式开发,强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间均可以很容易地解决冲突。离线工做。 | 学习周期较长。不符合常规思惟。代码历史保密性差,一旦开发者把整个库克隆到本地,就能够彻底查看到全部的历史版本信息。 |
Mercurial | 更简洁好用的命令行指令。上手简单。完善的GUI支持。易于扩展。 | Mercurial的分支模型十分复杂,每一种分支方法都有不少缺点和不便之处。Mercurial改写历史很麻烦。没有命名空间。 |
Trac | 很是灵活,能够为所欲为地定制。能够和SVN集成。 Trac的权限体系是比较完备的设计。 | 不支持多项目。中文化不完整。核心功能不多,不安装插件基本没法使用。 |
Bugzilla | 检索功能强大。强大的后端数据库支持。根富多样的配置设定。 | 安装须要Perl和配置MySQL数据库,过程比较繁琐。 修改配置文件很麻烦。流程没法定制。 |
软件 | 用户量 |
---|---|
Github | 约31,000,000用户量 |
SourceForge | 约3,700,000用户量 |
Bitbucket | 约5,000,000用户量 |
GitLab | 约100,000用户量 |