zoukankan      html  css  js  c++  java
  • 《构建之法》1-5章感后感

    第一章:概论

    1)  在读此书之前,我一直以为当一个团队确定了负责一个项目之后,他们的成员不会再有所修改,会对所负责的项目负责到底。但实际上,软件团队是会流动的。为什么要有人员的流动呢?是出现了现有团队解决不了的技术困难,需要新技术新知识的支持,还是现有团队身担多职,需要人手帮忙?另外,不止是软件程序会有bug,团队也会有bug。处理好bug是创造“足够好”的软件的基础,但在校园学习过程中,我们常常会忽视bug,甚至把它留在最后处理。

    2)  用户体验,很多时候我们会在软件商店下载各种功能相似的应用,比如,我们曾经下载过无数个背英语单词的app,而能留到最后的只有“百词斩”。软件的用户体验的好坏就在于他是否与同类型的软件比起来更好用。用户体验对一款软件的考验很大,市场上也有许多新开发的软件,这些软件有的一夜之间下载量飙升,有的却不了了之,也有的在一段时间内飙升后再被淘汰。比如像素鸟,前段时间很风靡,现在也逐渐退去光环。我觉得这也和用户体验有密切相关的关系,作为一款游戏,前一段时间因为游戏有难度而风靡,而后来听说有些大神通了关,但我相信大部分人都是没过几根柱子就game over了的。这样没有奖励又屡战屡败的游戏,用户大概也不太想要坚持玩下去。但游戏的有创意又容易上手,就是太容易game over。

    3) API到底是什么,和java的API一个意思吗?

    百度百科解析:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    4) “没有银弹”论断?

    互动百科:没有银弹--是Fred Brooks在1987年所发表的一篇关于软件工程的经典论文。该论述中强调真正的银弹并不存在,而所谓的银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。

    5) 书上提到了三种学院,讲解了计算机科学和软件工程的区别及其互助性,那软件学院和软件工程学院所学的是否有区别呢。

    第二章:个人技术和流程

    1) 个人编写模块时要有单元测试,毕竟最后的软件是由多人合作完成的。我们要确保我们所写的模块能被他人调用,并且代码清晰易懂,不影响其他模块。用vsts写单元测试我们没有接触过,看着书也印象不太深,它是否能测试所有的计算机语言呢。希望有时间实践操作一下。另外,对于单元测试自动化,什么是单元自动化,要怎么做呢。百度了也很晕。以及GitHub之前觉得它的图标很可爱,有去了解过,但是没看懂它能干嘛。

    2) 原来使用for循环调用a.lenght;这些调用的获取数组长度的方法会增大时间复杂度

    第三章:工程师的成长

    第一节讲个人能力的成长,那么目前我们作为学生,如何提高我们自己,我觉得一个人的成长需要经历,加入团队与团队一起进步,我觉得第四章的结对子编程挺好,但是当一个团队的水平到达了一定的能力的时候,我们有必要去其他团队学习吗?现在互联网正在迅速发展,以后会对软件工程有什么阻碍吗?

    第四章:两人合作

    提出问题:如何在两人合作中提高工作效率?(出自4.6节)

    答:在练习二中,我与我的小伙伴进行了结对编程,收获了挺多。一开始,两人要提出各自的看法,互相尊重对方的建议,写出初步的方案(像书中的萌芽阶段);之后在写代码的过程中会出现意见分歧,要控制好自己的情绪,把各自的意见进行比较,或者结合两人的意见提出新的思路(像书中的磨合阶段)。最后在程序敲完之后会要进行测试,一些代码格式的规范,漏洞问题,或是新的idea,都可以在这一阶段加入进去(规范阶段),最后完成程序(创造阶段)。做好这四个环节,我相信能很有效地提高两人合作的工作效率。在两人合作的过程中,我很享受其中的过程,乐在其中。所以,有个好心态去做事情也是不错的。

    第五章:团队和流程

    1)看了很多软件团队的模式,有主治医生模式,明星模式,社区模式等等。以及功能团队模式,有官僚模式。开发流程有写了再改模式等。但是,可能是我拜读不深吧,看完还是么能理清团队如何合作,团队里的每一个人负责什么。要一起写需求设计吗?还是一部分人负责?有没有具体的例子可以帮助理解呢。一个公司开发一个大项目,要如何才能让一个软件团队有条不紊等工作,他们之间如何分工,如何把所有人所负责的部分整合成一个项目?

  • 相关阅读:
    Linux之流程判断
    Linux之Shell变量
    Linux之RAID
    Y-Sport
    [ST2017] Lab1: Triangle type and Junit test
    [ST2017] Hw3: Prime Path
    [ST2017] Hw2: Fault, Error, Failure and test case for projects
    [SPM2017] Hw1: The outcome of my project [Deadline: 23:59:59, Mar.1, 2017]
    [ST2017] Hw1: An error from my past projects [Deadline: 23:59:59, Feb.27, 2017]
    一个使用Jmeter做接口性能测试的实战案例
  • 原文地址:https://www.cnblogs.com/42chenzhipeng/p/4431671.html
Copyright © 2011-2022 走看看