代码改变世界

第二次结对作业

2019-05-05 22:18  赵德明  阅读(137)  评论(0)    收藏  举报

1.题目一(结对项目)

要求:

1.能够自动生成四则运算练习题

2.可以定制题目数量

3.用户可以选择运算符

4.用户设置最大数(如十以内、百以内等

5.用户选择是否有括号、是否有小数

6.用户选择输出方式(如输出到文件、打印机等

7.最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

C/C++代码审查表结对伙伴Github地址:https://dev.tencent.com/u/Hubz/p/SoftWareHomeWork/git/tree/master/二人结对第二次作业/四则运算生成

2.项目分配:

驾驶员:胡博智
领航员:赵德明(负责测试、性能分析)

代码审查表:

重要性 审查项目 结论
编码
重要 如无特殊情况, 文件一律使用 UTF-8 编码
重要 如无特殊情况, 文件头部必须加入 #--coding:utf-8-- 标识
代码格式
重要 统一使用 4 个空格进行缩进 使用
重要 每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ,但最长不得超过 120) 满足
引号
重要 简单说,自然语言使用双引号,机器标示使用单引号,因此 代码里 多数应该使用 单引号 满足
空行
重要 模块级函数和类定义之间空两行;
重要 类成员函数之间空一行;
import 语句
重要 import 语句应该分行书写
重要 import语句应该使用 absolute import
重要 import语句应该放在文件头部,置于模块说明及docstring之后,于全局变量之前;
重要 import语句应该按照顺序排列,每组之间用一个空行分隔
重要 导入其他模块的类定义时,可以使用相对导入
重要 如果发生命名冲突,则可使用命名空间 满足
空格
重要 在二元运算符两边各空一格 [=,-,+=,==,>,in,is not, and] : 满足
重要 函数的参数列表中, , 之后要有空格 满足
重要 函数的参数列表中,默认值等号两边不要添加空格 满足
重要 左括号之后,右括号之前不要加多余的空格 满足
重要 字典对象的左括号之前不要多余的空格 满足
重要 不要为对齐赋值语句而使用的额外空格 满足
换行
重要 使用反斜杠 \ 换行,二元运算符 + . 等应出现在行末;长字符串也可以用此法换行 满足
重要 禁止复合语句,即一行中包含多个语句: 满足
重要 if/for/while 一定要换行 满足
docstring
重要 所有的公共模块、函数、类、方法,都应该写 docstring 。私有方法不一定需要,但应该在 def 后提供
一个块注释来说明。 满足
重要 docstring 的结束"""应该独占一行,除非此 docstring 只有一行。 不满足
注释
重要 “#”号后空一格,段落件用空行分开(同样需要“#”号) 满足
重要 至少使用两个空格和语句分开,注意不要使用无意义的注释
重要 在代码的关键部分(或比较复杂的地方), 能写注释的要尽量写注释 不满足
重要 比较重要的注释段, 使用多个等号隔开, 可以更加醒目, 突出重要性 不满足
重要 文档注释以 """ 开头和结尾, 首行不换行, 如有多行, 末行必需换行, 以下是Google的docstring风格示例
重要 不要在文档注释复制函数定义原型, 而是具体描述其具体内容, 解释具体参数和返回值等 满足
重要 对函数参数、返回值等的说明采用numpy标准 满足
命名规范
重要 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) 满足
重要 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头 满足
重要 将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块 满足
重要 函数名一律小写,如有多个单词,用下划线隔开 满足
重要 私有函数在函数前加一个下划线 满足
重要 变量名尽量小写, 如有多个单词,用下划线隔开 满足
重要 常量采用全大写,如有多个单词,使用下划线隔开 满足
重要 常量使用以下划线分隔的大写命名 满足

3.成果展示:


4.收获与体会:

胡博智同学代码编写能力很强,结束了本次的结对编程项目,让我们各自对结对编程有了更深的理解。对代码的编译,代码的修改,代码的调整和完善。都有了很大 的提升。我们分工明确,我是领航员而胡博智是驾驶员。我为他进行代码的审查各自进行各自的分工所以工作完成的非常细致。以及和同学在编码上产生不同意见时,都会各自做出让步和冷静思考,让我们学会了团结和思考。增强了我们团结合作的能力。一周的时间领悟了非常多的知识量收获很大。