第三章——软件工程师的成长
- 考级之路:
在中国,软件工程师的职业资格考试有:
计算机等级考试和全国计算机技术与软件专业技术资格考试。
很多公司也提供了针对自己产品的职业认证项目。例如:
微软公司有微软认证专家
甲骨文公司有Oracle认证项目。
本章主要讲了,不同级别的软件工程师的专业能力,要做那种类似边给人做手术边闲聊的医生,而不是看着医学课本照书给病人开刀。当然这个阶段需要经历漫长的打怪升级过程。漫漫长途,和小伙伴一起慢慢征服长征路。
第四章——两人合作
本章内主要讲了代码规范、极限编程、结对编程、两人合作的不同阶段、影响他人的技巧。
为了方便工作中在团队中的合作,注重代码规范是积极重要的。“代码规范”分为两部分:
1.代码风格规范,主要是文字上的规定,看似表面文章,实际上非常重要。
2.代码设计规范,牵涉到程序设计、模块之间的关系、设计模式等方方面面的通用原则。
关于代码风格规范,原则上是:简明、易读、无二义性。
- 代码风格规范:
1.缩进。4个空格较好,在Visual Studio和其他的一些编辑工具中都可以定义Tab键扩展成为几个空格键。不用Tab键,是因为在不同的情况下会显示不同的长度。
2.行宽。因为计算机的发展,以前设置为 80字符,现在可设置为100字符。
3.括号。在复杂表达式中,用括号清楚表示逻辑优先符。
4.断行与空白的{}行
类似:
if(condition)
DoSomething();
else
DoSomethingElse();
5.分行。不要把多行(多个变量)放在一行上。
6.命名。“匈牙利命名法”比如:fFileExist,表明是一个bool值,表示文件是否存在。但微软.NET就不主张使用这样的命名法则。
7.下划线。下划线用来分隔变量名字中的作用域标注和变量的语义。
- 代码设计规范:
1.函数。最重要原则:只做一件事,并且要做好。
2.goto。函数最好是单一的出口。
3.错误处理。在Debug版本中,所有的参数都要验证其正确性。
- 结对编程
老师为了我们更好理解这个编程方法,还特意让我们结对共同编写四则运算网页版。但是由于自己和伙伴在知识上的欠缺,并没有完整靠自主编写出这个网页,而是将别人的程序修修补补。通过这个实践,最后得出的经验是,不会很正常,在此之前。可以通过学习基本知识,将搭建网页所需的基本知识掌握。画一个简单的流程图,按照流程图一步一步去做。这样也比在别人的基础上修修补补来得好。
结对编程指,以对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析、一起设计、一起写测试用例,一起编码、一起做单元测试等等。
第五章——团队和流程
对于团队的定义,软件团队有各种形式,适用于不同的人员和需求。其中有主治医生模式,明星模式、社区模式、业余话剧团模式等等。
TSP(Team Software Process)原则:
1.使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。
2.团队的各个成员对成员的目标,角色、产品都有统一的理解。
3.尽量多使用成熟的技术和做法。
4.尽量多的收集数据。