zoukankan      html  css  js  c++  java
  • 第五次作业《构建之法》心得体会

    《构建之法》这本书来源于作者和国内多所大学进行软件工程共同合作教学经验的积累,是一本从教学中做出来的教材。这本书很有针对性,开篇就有给“任课老师和助教的建议”,这门课的教学更多的吸取了西方课堂的教学方式,不是简单的作业+考试或者论文的形式,而是整个学习过程贯穿着一系列的综合作业,学习博客,互相实例编程等等。这本书的作者是邹欣老师,来自微软的大神,领导过多个大型软件工程开发团队,国内国外科班软件专业毕业,这是一个在“战争”中洗礼过的人,能真正意义的解决实操性。看完这本书,在两方面给了我很深刻的认识。

       一方面,让我知道了软件这方面最重要的一部分是要学会团队合作,因为一个人的想法总是及其狭隘的,只有通过合作,我们制作出来的软件才能够尽可能的完善,Bug尽可能少,功能才会更加的强大。要想在软件这方面有相应的成就,我们不但要有较强的知识做后盾,更重要的是要学会团队合作,因为在这方面单枪匹马永远成不了大事。无论你所带领的团队的成员如何优秀,只有团队中每个人学会团结才能使每个人的才能发挥到极致,否则再好的成员这个团队永远是一盘散沙,一无是处。

       而另外一个深刻的感受是,学习软件工程,好像武林之中学习内功。很长时间似乎只能意会而不能身传。这本书是少有的干货云集,可教性极强的书通篇强调籍“做中学”,理论与实践结合,练习量大,要学下来估计会脱一层皮,但如果能过,估计在软件工程的路上会“凤凰涅槃”,终成正果。

       读完这本书给我留下了几个疑问:

    1书本上说软件工程的目标——创造出“足够好”的软件,还举例了汽车的例子。实际上我们在做软件项目时,应该如何去判断创造出来的软件何时“足够好”,是Bug尽量少的时候呢?还是像车的例子一样,达到客户的需求的时候呢?是后者更重要吗?书上也提到了世界上完美的软件并不存在,如果我们不断的追求完美是不是就可能由于时间问题而导致了软件发布过时?

    2 书上提到为了避免软件开发后期发现的Bug修复起来要花更多的时间,我们要写单元测试。那么在实际的软件项目的开发时,为了减少软件开发后期的Bug,是不是最好每写好一个小程序都要写单元测试?还是根据不同的情况而选择性的写?

    3 书上讲了软件团队的模式和开发流程,可是在一般情况下,公司主要是以主治医师模式这种团队模式吗?在学校中,如果我们要执行这一种模式,最好是几个人一组,如何防止出现“一个学生干活,其余学生打酱油。”的现象呢?

    4 在结对编程中,如何才能更好地分配两个人的工作?如果由于某些原因,你的同伴未能完成相应的任务,可是这个任务必须马上要提交,那么最终的结果是要你把剩下的全部完成,出现这种现象该如何解决?

    5 我们现阶段提高技能的方法是通过不断的练习,是要提高到可以在不查阅任何资料的前提下随手可以编写出一个程序吗?这个程序应该有多大才算是一个合格的程序员,才能适应当前的形势?

  • 相关阅读:
    [Oracle工程师手记]如何收集 RMAN 工作时的 10046 trace
    [Linux]Linux环境,如何查找一个目录下所有包含特定字符串的文件
    [Oracle工程师手记]如何找到 RMAN 的所有 session
    PowerShell提交HTTP Request Post请求
    PowerShell计算字符串MD5 Hash值
    《异类》笔记
    《哈弗商学院 判断与决策心理学课》笔记
    《影响力》笔记
    《金字塔原理》笔记
    三月十九日,偶感
  • 原文地址:https://www.cnblogs.com/guan0714/p/5515266.html
Copyright © 2011-2022 走看看