201971010222-李瑞婷 实验三 结对项目一 《{0-1}KP实例数据集算法实验平台》项目报告
2022/4/4 22:21:24
本文主要是介绍201971010222-李瑞婷 实验三 结对项目一 《{0-1}KP实例数据集算法实验平台》项目报告,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
项目 | 内容 |
---|---|
课程班级博客连接 | 2019级卓越工程师班班级博客 |
作业要求链接 | 软件工程结对项目 |
我的课程学习目标 | 1:体验软件项目开发中的两人合作,练习结对编程(Pair programming)。2:掌握Github协作开发软件的操作方法。 |
这个作业在哪些方面帮助我实现学习目标 | |
结对方学号-姓名 | |
结对方本次博客作业链接 | |
本项目Github的仓库链接地址 |
任务一:阅读《现代软件工程—构建之法》第3-4章内容,理解并掌握代码风格规范、代码设计规范、代码复审、结对编程概念;
1:代码风格规范:简明,易读,无二义性
1:缩进:可以使用Tab键以及2、4、8等空格。依据不同是编程语言,使用不同的缩进方式。
2:行宽:对行宽进行同一设置。
3:括号:用括号清楚的表明逻辑优先级。
4:断行与空白的{}行:主要是在多层循环中规范使用。
5:分行:不要把多条语句放在一行上,更不要把多条变量语句放在一行上。
6:命名:命名能够表明变量的类型及相应的语义,简洁易懂。
7:下换线:合理使用来分隔变量名字中的作用域标注和变量的语义。
8:大小写:多个单次组成的变量名,用大小写区分,例如著名的驼峰式命名法。
9:注释:能够很好的解释程序是做什么的(what),以及为什么这样做(why)。
2:代码设计规范
1:函数:能够很好的完成一件事。
2:goto:函数最好有单一的出口,可以使用goto。
3:错误处理:预留足够的时间,使用的方法包括参数处理和断言。
4:c++类的处理:类、classvc.struct、公共/保护/私有成员、数据成员、虚函数、构造函数、析构函数、new和delete、运算符、异常处理、类型继承。
3:代码复审
1:自我复审:用同伴复审的标准来要求自己。不一定最有效, 因为开发者对自己总是过于自信。如果能持之以恒,则对个人有很大好处。
2:同伴复审(最基本):简单易行。
3:团队复审:有比较严格的规定和流程,适用于关键的代码,以及复审后不再更新的代码。覆盖率高——有很多双眼睛盯着程序,但效率可能不高。
4:结对编程
- 两人结对编程,一对程序员肩并肩,平等地,互补地进行开发工作。
任务二:两两自由结对,对结对方《实验二 软件工程个人项目》的项目成果进行评价。
1:对项目博文作业进行阅读并评论
结编同伴 | 201971010222-刘转弟 |
---|---|
评论链接 | 刘转弟软件个人项目 |
评论内容 |
2:克隆结对方项目源码到本地机器,阅读并测试运行代码
对方GitHub仓库地址链接 | liuzhuandi-刘转弟 |
---|
- 克隆
- 阅读并测试运行
- 代码核查表
项目 | 说明 |
---|---|
概要部分 | |
代码符合需求和规格说明么? | 基本符合,功能大致完成 |
代码设计是否考虑周全? | 考虑比较周全,还可以 |
代码可读性如何? | 尚可 |
代码容易维护么? | 不易维护 |
代码的每一行都执行并检查过了吗? | 是 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 没有 |
有没有硬编码或字符串/数字等存在? | 没有,采用的变量名符合代码规范 |
代码有没有依赖于某一平台,是否会影响将来的移植? | 没有,对移植影响较小 |
开发者新写的代码是否用已有的Library/SDK/Framework中的功能实现? | 是 |
在本项目中是否存在类似的功能可以通过调用而不用全部重新实现? | 不确定 |
有没有无用的代码可以清除? | 有 |
代码规范部分 | |
修改的部分符合代码标准和风格么? | 大致符合 |
具体代码部分 | |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 已处理 |
参数传递有无错误,字符串的长度是字节的长度还是字符的长度,是从0开始计数还是从1开始计数 | 无错误;字符的长度;从0开始 |
循环有没有可能出现死循环? | 没有 |
有没有使用断言来保证我们认为不变的条件真的得到满足? | 没有 |
有没有优化的空间? | 有 |
数据结构中有没有用不到的元素? | 有 |
效能 | |
代码的效能如何?最坏的情况是怎么样的? | 效能可以 |
代码中,特别是循环中是否有明显可优化的部分? | 有 |
对于系统和网络的调用是否会超时?如何处理? | 无超时 |
可读性 | |
代码可读性如何?有没有足够的注释? | 关键地方注释少,阅读困难 |
可测试性 | |
代码是否需要更新或创建新的单元测试? | 是 |
- 对同伴个人项目仓库的源码进行合作修改
任务三:采用两人结对编程方式,设计开发一款{0-1}KP 实例数据集算法实验平台。
1:需求分析陈述(3W)
2:软件设计说明
3:软件实现
4:程序运行
5:结对编程
6:项目PSP
7:项目小结
在本次结对项目编程中,体会到了1+1>2的效果。在项目编程中发挥了各自的优点,同时也通过开发了解到了各自的不足,深深感受到了合作编程的好处!
这篇关于201971010222-李瑞婷 实验三 结对项目一 《{0-1}KP实例数据集算法实验平台》项目报告的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解