1. 是否需要有代码规范(5分)对于是否需要有代码规范,请考虑下列论点并反驳/支持:
1.这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
反对,代码规范对于软件产业是非常重要的。并非是官僚制度,而是直接影响到代码维护,代码审核的。确实熟悉规范需要一定的时间,但是统一的编码习惯,可以使审核,维护的时间大大缩短,反倒不会影响开发效率。
2.我是个艺术家,手艺人,我有自己的规范和原则。
自己独特的规范和原则是不适用于团体合作的。一个软件的开发到投入市场,不可能仅仅一个人,而是需要一个巨大的团队的,如果你的编码风格过于独特,缩进,括号过于独特,会给别的程序员增添很多麻烦,大大降低效率,如果出现Bug,会让维护人员的工作量大大增加。
3.规范不能强求一律,应该允许很多例外。
例外是可以随着规范的不断精进而随之减少,直至消失的。一个软件团队的编译规范是不断完善的,有例外的话,也会随着软件的开发进行而减少,不应该允许很多。
4.我擅长制定编码规范,你们听我的就好了。
一个团队确实是需要一个指定规范的人的,但是却不应该因为善于制定规范而去制定,而是要综合整个团队大体的编码习惯,然后在一些差异较大的地方找出一种最优的编写格式,并和团队的成员们一同商量,通过,则制定成一个小规范。所以一个指定规范的程序员不仅仅应该有比较熟练,成熟的规范经验,而且组织团结能力也一定要好。
2. 代码复审(10分)
每位同学复审其结对小伙伴的个人项目(第二次作业中的四则运算编程作业),并在博客中记录复审结果。
代码复审检查表可以参考
[1] 教材《构建之法》4.4.5节的内容
[2] http://blog.fogcreek.com/increase-defect-detection-with-our-code-review-checklist-example/ 。
这次复审我查看的是班长吴阿平的四则运算编程作业,我就来说说我对班长的代码的一些感受吧。链接:http://www.cnblogs.com/SaltWu/p/5281184.html
根据《构建之法》这本书上所写的代码复审核查表来看,第一项的概要部分,班长的代码很符合题目需求和规格,代码的整洁性也非常高,每一行经过检查没有Bug;第二项设计规范部分,缩进得当,断行也非常的常规,看上去非常的清晰;第三项代码规范部分,就我的水平来看的话,是很规范的,和我们上课时候老师给的规范没什么区别;第四项具体代码部分,没有错误;对于其中提出来的第五项效能要求,我对这个“能效”词不是很了解,这个程序运行的很流畅,没有什么问题,应该算能效高吧;代码的可读性很高,有很多相应的注释,能让人一目了然。
3. PSP记录个人项目耗时情况(5分)
请同学们参照教材《构建之法》2.3节表2-4 PSP2.1汇报自己在完成四则运算编程时候的时间分布,发布到博客上。
计划 |
3小时 |
开发-分析需求 | 0.2小时 |
生成设计文档 | 0.2小时 |
代码规范 | 0.2小时 |
具体设计 | 1小时 |
具体编码 | 2小时 |
代码复审 | 0.2小时 |
测试 | 0.2小时 |
事后总结 | 0.2小时 |