Java教程

201971010222-李瑞婷 实验三 结对项目一 《{0-1}KP实例数据集算法实验平台》项目报告

本文主要是介绍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实例数据集算法实验平台》项目报告的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!