读《构建之法》前三章有感

  这标题,一下子让智商跌倒小学四年级,记得那是我第一次写读后感,然而这不是重点。

  “现在我知道为什么有些软件写了好几年都没有发布了,感情他们都忙着写单元测试了。”

  “阿超:你可以大胆的对你的女朋友说:‘我们只是玩一玩………’,看看效果如何。如果玩一玩,什么都太重要。如果你写的模块会有不同的人,在不同的时间使用,那你最好把你这一‘单元’要做的事,以及它不能做的事,用单元测试清晰地表达出来。同时,单元测试也能帮助程序员记录这个模块的历史和设计变更的理由。”

  可见,单元测试在软件开发的过程中起着多么大的作用。对单元代码进行测试,会让我们的代码单元化模块化,有利于我们对代码的修改测试,以及读者的理解。

  java语言本身也就带有这种思想,把一个大项目分而治之,把大问题分解成一个个小问题,再逐个攻破。Myeclipse作为当前java编程的较为热门的开发工具,它也提供这种单元测试的功能。当我们在需要测试的函数添加@Test,导入相关的jar包,就能运行该方法,而不用给类添加Main方法。

(1)好的单元测试的标准是什么?

  1.单元测试应该在最基本的功能/参数上验证程序的正确性。

  2.单元测试必须有最熟悉的代码的人来写。

  3.单元测试过后,机器转台保持不变。

  4.单元测试要快

  5.单元测试应该产生可重复的一致的结果。

  6.独立性——单元测试的运行,通过,失败不依赖于别的测试,可以人为构造数据,以及保持单元测试的独立性。

  7.单元测试应该覆盖所有代码途径。

(2)分析方法:

  1.抽样

  2.代码注入

 

(3)初级软件工程师如何成长呢?

  1.积累软件开发相关的知识,提升技术技能。

  2.积累问题领域的只是和经验。

  3.对停用的软件设计思想和软件工程思想的理解。

  4.提升职业技能。

  5.实际成果。

 

  对于在校学子的我们应当拿着什么去照亮前方的迷雾呢?应当怎么去迎来拨开云雾的光明,建立一座属于自己的希望灯塔呢?我恐惧了,焦虑了,深思了,懵懂了………

  在中国,软件工程师的职业之歌考试有:计算机等级考试和全国计算机技术与软件专业技术资格考试,这可以是一个不错的选择,它受国家认证,有一定的权威和通用性。当然这类考试也具有一定的局限性:缺少面对面的口试,不能考量团队合作能力,考题内容相对滞后于工业界的发展,波分内容相当滞后等等。

  问题:

    对于第一章,在之前的博客也有提及过,及:银弹是什么?

    在开发过程中,还有哪些单元测试工具?效能分析工具?

    对于我们,作为软件工程班的学子,我们该学什么?怎么学?核心竞争力是什么呢?

    学习不同的知识肯定会运到新的问题,然而,一个个棘手的问题就是这样以绊脚石的姿态让我们为之奋斗进而演变为一个个垫脚石提高了我们的视野高度,不是吗?

 

 

 

 

  

posted @ 2016-03-21 22:05  huangmp  阅读(143)  评论(1编辑  收藏  举报