第一章
作者谈到了软件开发的过程,过程包括玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段。我觉得自己处在业余爱好者的阶段(上学期数据库大作业要求写一个图书馆里系统,于是就写了一个图书管理网站,当时做完的时候感觉挺有成就感的,虽然过程十分痛苦),在讨论商业软件和爱好者的程序时,作者举了一个有趣的例子,如果有一个航班没有配置安全设备,你会去乘坐吗?我比较喜欢旅游,每年都坐飞机,虽然在航行过程中确实没有用到任何安全设备(用到了,估计就不一定还能来上课了……),但是这样的飞机我不敢乘坐,上面这个例子说明了,爱好者开发的软件,很少会考虑给软件加上“安全功能”。从而在软件高速运行的过程中,如果出现异常,不能保证安全退出,并且不破坏用户数据。由此可见,对于真正的软件开发我还有很长的一段路要走,
最后作者谈到了本章的一个重点,软件工程究竟是什么?这和计算机科学有什么区别?看了作者的论述,再结合自己的理解我觉得计算机理论的进展会帮助软件工程(例如对程序正确性的分析),软件工程的进展(包括更好的工具,更广的应用领域)会帮助计算机科学家更有效的进行试验和探索。
第二章 个人技术和流程
本章主要讲了单元测试、回归测试、效能分析、PSP。由于我没有用vsts写单元测试,更不要说建立在单元测试上的回归测试,页没有用performance进行过效能分析,所以对本章内容理解不深。但从总体上讲,单元测试的目的是为了确保我们所写的模块能被他人调用,并且代码清晰易懂,不影响其他模块。回归测试是指程序出错时能回退到正常运行的状态。效能分析为了发现程序性能瓶颈,提高程序运行的速度。在将效能分析的过程中,作者举例一个例子说明在for循环中的判断不要调用函数,因为这个函数在每轮循环结束之后都会被调用一次。
第三章 软件工程师的成长
本章主要讲了软件工程师的个人能力的衡量与发展、职业发展着两个方面,对于一个软件工程师,个人能力尤为重要,如果个人能力不足,何谈团队协作,以及项目开发呢?个人能力包括,软件开发的相关知识、经验,软件工程思想,职业技能和实际成果。在谈职业发展时,说明了考级,公司以及自我评估三个大方向的发展。其中让我比较在意的是微软软件工程师的职业等级,从表格中可以看出从低级工程师到高级工程师不仅仅是个人能力的提高,更要注重身份的转变,即从执行者转变成决策者,低级工程师仅仅是完成上级布置下来的任务,而高级工程师要参与到项目的决策中。
标签:个人,工程师,效能,单元测试,笔记,软件工程,构建,阅读,软件 From: https://www.cnblogs.com/4a5r/p/18042002