碰到《构建之法》,实属偶然。在进入大二的第二个学期正式选了软件工程方向,软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。但是软件工程的技术对于投身IT产业的学生来说是非常重要的。老师向我们推荐了这么一本书。这本书的全称是《构建之法 — 现代软件工程》,封面设计得很朴素,说实话,没有亮点。但作者吸引了我,在念大学的时候就开始在微博上关注邹欣老师,他是微软Windows中国工程团队首席研发总监。第一次翻开《构建之法》,着实让我眼前一亮,这本书与国内高校常规的软件工程教材有本质的不同,这本书写得跟小说似的,而且语言幽默风趣,颠覆了传统软件工程教材刻板生硬、枯燥乏味的形象,相较之下,这本书显得清新脱俗。
现在我已经看完《构建之法》的第一章《概览》
首先我了解到了这几个概念:软件 = 程序 + 软件工程
软件工程可以定义为: 把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程;软件工程包括一下领域:源代码管理+需求分析+程序设计+软件构建+软件测试+软件维护+生命周期管理等,广泛意义的软件工程,还包括用户体验、用户界面设计等;并且软件工程决定了软件质量。
第一章文中还提到软件工程和计算机科学的关系,这也是容易让人迷糊的两个概念,我在在高考填志愿的时候就不知道他们的区别,结果到学校后发现学的东西差异也不是很大;而实质上这是两个侧重点差异很大的概念;从知识领域上说,计算机科学包含计算机体系结构、操作系统、图形学、人工智能等,而软件工程包含软件需求、软件设计、软件维护、软件测试等;
在软件工程中有一种叫做团队模式,它与足球中的战术体系在本质上是一样的,谁动不动就强调他的个人能力,那么他一定不懂得配合队友,这是意识的问题。曾经我也是一位编程就是一个人一声不吭的窝在电脑前敲代码就行了。现在为了不断提高自己的水平,突破自身的瓶颈,我采用“做中学”的态度,结合《构建之法》中的原理,指导自己的编程工作,效率提升得很快。《构建之法》之于现在的我,就像《论持久战》之于抗战初期的中共,有着不错的指导意义。