任务1:在学习通上注明结对的成员对格式(5分)
4班顾雪微——4班许爽
任务2:结对的成员共同完成本次作业,撰写博客并将结对项目的程序发布到github上(95分)
博客的内容安排如下:
1.提供你的结对成员的博客链接地址(5分)
https://www.cnblogs.com/gugu-/p/11708321.html
2.结对成员对四则运算项目进行代码互审,并给出代码审查结果表
顾雪微代码审查表(由许爽完成)(10分)
程序的板式 | ||
重要性 | 审查项 | 结论 |
空行是否得体? | 是 | |
代码行内的空格是否得体? | 是 | |
长行拆分是否得体? | 是 | |
“{” 和 “}” 是否对齐于同一列? | 是 | |
重要 | 一行代码是否只做一件事?如只定义一个变量,只写一条语句。 | 是 |
重要 | If、for、while、do等语句自占一行,不论执行语句多少都要加 “{}”。 | 是 |
重要 | 在定义变量(或参数)时,是否将修饰符 * 和 & 紧靠变量名?注释是否清晰并且必要? | 是 |
长行拆分是否得体? | 是 | |
重要 | 注释是否有错误或者可能导致误解? | 否 |
命名规则 | ||
重要性 | 审查项 | 结论 |
重要 | 命名规则是否与所采用的操作系统或开发工具的风格保持一致? | 是 |
标识符是否直观且可以拼读? | 是 | |
重要 | 程序中是否出现相同的局部变量和全部变量? | 否 |
类名、函数名、变量和参数、常量的书写格式是否遵循一定的规则? | 是 | |
静态变量、全局变量、类的成员变量是否加前缀? | 否 | |
表达式与基本语句 | ||
重要性 | 审查项 | 结论 |
重要 | 如果代码行中的运算符比较多,是否已经用括号清楚地确定表达式的操作顺序? | 是 |
重要 | 是否用隐含错误的方式写if语句? 例如 | |
如果循环体内存在逻辑判断,并且循环次数很大,是否已经将逻辑判断移到循环体的外面? | 是 | |
将浮点变量用“==”或“!=”与任何数字比较。 | 否 | |
函数设计 | ||
重要性 | 审查项 | 结论 |
参数的书写是否完整?不要贪图省事只写参数的类型而省略参数名字。 | 是 | |
是否使用类型和数目不确定的参数? | 否 | |
是否省略了函数返回值的类型? | 否 | |
类的高级特性 | ||
重要性 | 审查项 | 结论 |
是否违背了继承和组合的规则? | 否 | |
其它常见问题 | ||
重要性 | 审查项 | 结论 |
重要 | 变量的数据类型有错误吗? | 否 |
重要 | 变量的初始化或缺省值有错误吗? | 否 |
重要 | 循环终止条件不正确吗? | 否 |
### 许爽代码审查表(由顾雪微完成)(10分)
程序的板式 | ||
重要性 | 审查项 | 结论 |
空行是否得体? | 是 | |
代码行内的空格是否得体? | 是 | |
长行拆分是否得体? | 是 | |
“{” 和 “}” 是否对齐于同一列? | 是 | |
重要 | 一行代码是否只做一件事?如只定义一个变量,只写一条语句。 | 是 |
重要 | If、for、while、do等语句自占一行,不论执行语句多少都要加 “{}”。 | 是 |
重要 | 在定义变量(或参数)时,是否将修饰符 * 和 & 紧靠变量名?注释是否清晰并且必要? | 是 |
长行拆分是否得体? | 是 | |
重要 | 注释是否有错误或者可能导致误解? | 否 |
命名规则 | ||
重要性 | 审查项 | 结论 |
重要 | 命名规则是否与所采用的操作系统或开发工具的风格保持一致? | 是 |
标识符是否直观且可以拼读? | 是 | |
重要 | 程序中是否出现相同的局部变量和全部变量? | 否 |
类名、函数名、变量和参数、常量的书写格式是否遵循一定的规则? | 是 | |
静态变量、全局变量、类的成员变量是否加前缀? | 否 | |
表达式与基本语句 | ||
重要性 | 审查项 | 结论 |
重要 | 如果代码行中的运算符比较多,是否已经用括号清楚地确定表达式的操作顺序? | 是 |
重要 | 是否用隐含错误的方式写if语句? 例如 | |
如果循环体内存在逻辑判断,并且循环次数很大,是否已经将逻辑判断移到循环体的外面? | 是 | |
将浮点变量用“==”或“!=”与任何数字比较。 | 否 | |
函数设计 | ||
重要性 | 审查项 | 结论 |
参数的书写是否完整?不要贪图省事只写参数的类型而省略参数名字。 | 是 | |
是否使用类型和数目不确定的参数? | 否 | |
是否省略了函数返回值的类型? | 否 | |
类的高级特性 | ||
重要性 | 审查项 | 结论 |
是否违背了继承和组合的规则? | 否 | |
其它常见问题 | ||
重要性 | 审查项 | 结论 |
重要 | 变量的数据类型有错误吗? | 否 |
重要 | 变量的初始化或缺省值有错误吗? | 否 |
重要 | 循环终止条件不正确吗? | 否 |
### (b)描述结对编程的感受。 ###1.互相学习 结对编程也是一个互相学习的过程。在结对编程过程中,两人会不断就实现方法、代码风格或命名方法等进行讨论,两个人的思路能够进行互补,在编写过程中能够学到对方解决问题的思路和方法,对于提高自己解决问题和编程能力有很大的帮助。 ###2.认真对待 我认为,结对编程与个人编程一个最明显的不同就体现在心理差异上。因为结对编程是两个人的事情,不论是担任驾驶员还是领航员的角色,都需要对程序设计和实现有足够的准备,否则很容易变成一个人写代码,另一个人无所事事。开发过程中,要打起十二分精神,两个人紧密配合,谁也不好意思开小差,能够集中注意力在代码上。 ###3.提高效率 结对编程的形式使得代码处于不断地审查过程,每一段代码都由一个人编写,另一个人检查,最大程度上减少了出现bug的可能;两人互相交流,商讨实现方式,遇到问题时,能够做到互补。在测试过程中,因为有两个人共同调试,所以能够更快的发现问题所在。 ### (c)结对场景照片 ![](https://img2018.cnblogs.com/blog/1791116/201910/1791116-20191021202737639-1256059183.jpg)