初学软件工程中遇到的问题和困惑
通读了下《构建之法》这本书,内容给我一种愉快的阅读体会,让人更加的快速去接受里面的内容,并吸收为自己所用。并且里面的内容都举例生活中的例子,并且在一些容易有疑惑的地方,以问答形式解答,形象生动,语言通熟易懂,使人感觉其实软件工程就在我们的身边,并没有那么遥远。
在阅读的过程中有几个疑问:
第一章
在第一章中看到一句话:“软件行业也有一句著名的笑话:这不是缺陷,这是一个功能!(It‘s not a bug,It‘s a feature!)很多人认为有Bug就是质量不合格,沒有Bug就是完美,真的是这样吗?市面上有很多不完美的产品,软件团队为什么还要把这些不完美的软件发布出来呢?为什么不能等到它们完美之后再发布?”,那么怎样确定一个完美的软件,怎样确定一个产品呢是否能发布出去呢?软件的每一个版本都是上一个版本的更新,完善,改进。软件的缺陷是永远改不完的,正是不断有用户使用发现新的缺陷,软件才能做到不断完善,产品才越來越好。 那么软件工程师如何保证在新的改进上保持著原来软件的完整性呢?
第二章
在第二章中有一段小飞和阿超的对话说到“也许因为他们没有在一开始就写单元测试,所以后来有很多问题要处理。很多调查显示,在软件开发后期出现的Bug,修复起来要花费更多的时间。”那么我有一个疑问“是不是每一步只要有新的功能出来就要弄一个单元测试,像C语言中一个单元就指一个函数,Java里一个单元就指一个类,如果是一个十分庞大的項目,有很多函数,有很多类,它不就需要许多个单元测试,这么繁杂的工序,有什么方法可以提高单元测试的效率吗?“
第五章
在第五章中作者提出了十种软件团队的模式,分别是“主治医师模式”、“明星模式”、“社区模式”、“业余剧团模式”、“秘密团队”、“特工团队”、“交响乐团模式”、“爵士乐模式”、“功能团队模式”、“官僚模式”。不同的模式有不同的优缺点,那么我们要怎样知道自己适合哪种模式呢?一个团队定下使用一种模式之后可以随着情况的改变而更改模式吗?还是从头到尾贯穿一种模式比较好?
希望我在今后的学习中能慢慢探索出这些问题的答案!