第四周学习进度表如下:
第4周 |
|
所花时间(包括上课) |
15H |
代码量(行) |
150 |
博客量(篇) |
1 |
学到的知识 |
|
1.结对编程
结对编程这个概念对我们来说很新,刚听到名字的时候,也能想到是两个人一起编程,但是并不知道究竟的如何配合。老师希望我们能够平时多练习写代码的能力,于是在课堂上面出了一个编程题目。题目很简单:随机生成30个四则运算,并且用户可以录入结果,检查用户录入的结果是否是正确的。但是唯一的一个要求就是让我们由两个人组成一队的方式来完成这个小程序——就是结对编程。结对编程在我未接触之前,我的理解是两个人完成一个任务,再合理分配成两个子任务,两人负责分别完成各自的子任务。现在看来不是这样的,它强调的是两人能够在一起商讨、研究、监督的氛围下去完成一个程序任务。个人觉得这是一种比较好的模式,虽说这次的编程的练习题目比较简单,但是我能感触到当处理一个棘手或者不确定性很高的任务的时候,结对编程所展现出来的潜力就很大了:这种模式能让两个人的优势进行互补,项目每个部分都是展现出两人之间最强的那个人的一部分;在对问题进行考虑和分析时,互相商讨能够让结果最优化。其实我很羡慕这种编程,能够想象至少编程不是那么孤单了,有一个伙伴陪着你,时而商讨,时而编程,更重要的是能够让开发得到最大化的效益。这次结对编程的小练习也算是一种编程方式的新体验,这种思想在未来的工作中肯定或多或少会用到。
2.代码规范
代码规范是一个程序界老生常谈的问题,一个是非常重要,二是很多人并不按照规范来书写代码。一开始学习这个部分的内容的时候,我还是自认为自己的代码书写还是比较规范的:从变量命名,类命名、方法命名到注释书写等。但是规范就是规范,自己的感觉和它相差甚远。这里的规范除了最基本的命名规范,还有代码的对齐,可读性,以及注释的具体规范。从命名的规范上,我们介绍的是匈牙利命名法,这是一种具有良好的可读性和直观理解被命名对象意思的命名方式,确实深有感受:给定一个以标准匈牙利命名法命名的变量,在没有上下文的语境之下,直接可以看出该变量的所表达的意思和其类型等。除命名外,其次比较重要的问题就是注释,注释需要按照注释的标准来书写,包括:对类、方法、变量等,来进行注释说明。按照标准的注释方法来进行注释有两个好处,一是查看方便,以后回顾代码的时候能够在不看代码的情况下知道整个函数或者方法的作用;二是可以通过现有文档生成工具,直接生成manual。课后老师也要求我们去练习,使用的就是将之前提过的结对编程的小程序进行代码规范化。但是这里我必须说明一下,我使用的是Java语言,由于书写的习惯性,我在结对编程程序中使用的命名规范是驼峰命名方式,也是一种比较常用和良好的命名方式,文档的生成是使用Doxygen来生成Html文档直接查看,下面我给出结对编程的部分代码和文档的部分截图。
(图1:对类和变量进行注释)
(图2:对类中的方法进行注释) (图3:用Doxygen生成的注释文档)