20145328 《Java程序设计》实验三实验报告
20145328 《Java程序设计》实验三实验报告
实验名称
Java敏捷开发与XP实践
实验内容
- XP基础
- XP核心实践
- 相关工具
实验步骤
(一)敏捷开发与XP
- 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法
- XP极限编程是一种全新而快捷的软件开发方法
(二)编码标准
- 程序的版式追求清晰、美观
- 给包、类、变量、方法等标识符命名:包名全部小写,类名第一个字母大写,变量名和方法名第一个字母小写
(三)结对编程
- 在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作
- 两种角色:驾驶员和领航员
(四)版本控制
1.在 git@osc 上新建项目
由于我是将所有的实验代码放在同一个项目中,根据实验序号命名不同的package包进行管理,所以对应的在git上也是只有一个项目,所以这一步可以省略,这里附上实验项目的git连接
下面为实验项目的截图

2.在项目管理中将队友添加为开发者
具体方法为点击 git@osc 实验项目标题下方最右的管理选项夹,在弹出的窗口中,左方选项栏内选择项目成员管理-开发者-添加项目成员,添加时的页面如下图所示

完成添加后的确认界面如下所示,不过在添加的过程中一定要注意队友的昵称和邮箱,因为有可能出现昵称重名的情况,不要因为疏忽而添加错误

3.在IDEA中利用git功能新建项目【VCS-Checkout form Version Control-Git】
由于我和队友双方都使用的是IDEA进行代码编辑,而使用git bash的命令操作比较复杂而且容易出错,队友的对于git的操作并不熟悉,所以我选择通过在IDEA中使用git完成实验的方法,而实际操作下来也发现的确要比git bash要方便很多,特别是在IDEA中可以直接通过链接来在本地新建一个已经在 git@osc 中存在的项目,此处使用的也正是这种方法。
首先在IDEA上方的选项工具栏中选择【VCS-Checkout form Version Control-Git】,

将 git@osc 中已经存在的项目链接复制到出现的窗口,点击右侧的Test按钮检查链接是否正确,
由于前面提到过,由于我是将所有的实验代码放在同一个项目中,根据实验序号命名不同的package包进行管理,所以对应的在git上也是只有一个项目,所以这一步依旧省略
4.编写项目代码

5.在IDEA中利用git功能进行【git add】【git commit】【git push】操作,
如下图所示,在所需要上传的文件或文件夹处单击鼠标右键,在弹出的菜单中选择【Git-Add】,

注意:此处若是在文件夹处使用Git-Add,那么相当于在git bash中使用 git add .命令
在上方工具栏中选择【VCS-Git-Commit File…】,

出现如下图所示界面,在图中的文本框中可以填写需要Commit的信息,然后点击下方的Commit按钮即可

接下来在上方的工具栏中选择【VCS-Git-Push…】或在上图中的将鼠标停留在Commit按钮处然后选择【Commit and push…】将会出现如下界面,点击下方的push按钮即可完成上传操作

6.完成自己项目的上传

7.进入队友已完成上传的项目,复制项目地址,利用git功能在本地新建对应的项目【VCS-Checkout form Version Control-Git】
出现错误

由于本地已有同名项目,所以修改本地项目名称即可(后面加_jdy说明该项目来自吉东云进行区分即可)
9.修改对方对应的项目代码

10.再次利用IDEA中的git功能进行【git add】【git commit】【git push】操作,完成对方项目的上传


11.完成对方项目的上传操作

吉冬云experiment项目地址:http://git.oschina.net/jdy1453/experment
吉冬云实验报告blog地址:http://www.cnblogs.com/jdy1453/p/5428125.html
12.上传结果截图




(五)重构
- 在不改变软件外部行为的基础上,改变软件内部的结构
- 修改类名:右击类名,选择菜单中的Refactor->Rename来重命名


重命名后的文件名为MyMath.java,对类中变量名也进行重构后的类如下图所示

- 对类中未进行封装的部分进行从重新封装。选择菜单中的Refactor->Encapsulate Field…来进行封装
原本的代码以及运行结果如图所示

在Student类的类名处右键,选择Refactor->Encapsulate Field…

出现如下所示界面,可对需要进行封装的变量进行选择,然后点击下方的Refactor按钮即可,

对name变量进行封装后的代码如图所示

同样可对age和id两个成员变量进行封装,结果如下

上面代码中的System.out.println处还是有问题的,每次打印学生信息都这么写代码违反了DRY原则,造成代码重复,正常的重构可以使用Extract Method...,如下图:

由于Java中所有的类都有个专门的toString方法,我们使用IDEA中Code->Generate->toString()... 给Student类产生一个toString方法,如下图:


修改main的代码,结果如下:

心得体会
本次实验是Java课程的第三次实验,如果不算上实践项目中所需要编写的游戏项目的话,那么这次实验还是比较简单的,因为这一次实验所涉及的内容更多的是关于如何使用git,稍微麻烦一点的也就是因为这是一个组队项目,之前一直没接触过加入项目组或者将其他用户添加成自己项目的开发员,所以最开始出现了一定的问题,但是找到解决方法后很快的就将剩下的内容完成了。由于队友对于git的操作方面并不熟悉,而且我们都是使用的IDEA进行代码编写,便选择的是在IDEA中使用git的方法,而在程序选择时也是选择了最简单的HelloWorld。对于重构操作的学习了解也让我对于代码的修改有了更深一层的认识。
团队贡献
本次实验的内容基本上都是两人合作共同完成,由于选择的程序是最简单的HelloWorld,所以实验的重点便是围绕着git的上传自己代码下载队友代码修改后再次上传队友代码为主,实验讨论过程中由我对队友在git过程中的细节进行讲解并答疑,我也在帮她答疑的过程中对自己之前所写的教程进行修改,并发现自己没有看到的知识盲点,如果团队总分是10分,那么根据讨论的结果,我得其中的6分,队友得其中的4分
PSP(Personal Software Process)时间:
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 需求分析 | 40min | 20% |
| 设计 | 30min | 15% |
| 代码实现 | 50min | 25% |
| 测试 | 50min | 25% |
| 分析总结 | 30min | 15% |
20145328 《Java程序设计》实验三实验报告的更多相关文章
- 20145206《Java程序设计》实验三实验报告
20145206<Java程序设计>实验三实验报告 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运 ...
- 20145120 《Java程序设计》实验三实验报告
20145120 <Java程序设计>实验三实验报告 实验名称:敏捷开发与XP实践 实验目的与要求: XP基础 XP核心实践 相关工具 (一)敏捷开发与XP 极限编程(eXtreme Pr ...
- 20155206 《Java程序设计》实验三实验报告
20155206 <Java程序设计>实验三实验报告 实验内容 Java敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 提交一: 提交二: 提交三: 提交四:
- 20155232 《Java程序设计》实验三实验报告
20155232 <Java程序设计>实验三实验报告 实验内容 Java敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 敏捷开发(Agile ...
- 20145303《Java程序设计》实验三实验报告
20145303<Java程序设计>实验三实验报告 ssh公钥配置及git安装: eclipse中git配置: 队友链接: http://www.cnblogs.com/5321z/p/5 ...
- 20145236 《Java程序设计》实验三实验报告
实验三实验报告 和张亚军同学一组: 实验三实验报告
- 20144303 《Java程序设计》第一次实验实验报告
20144303 <Java程序设计>第一次实验实验报告 北京电子科技学院(besti)实验报告 课程:java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 ...
- 20145240 《Java程序设计》第一次实验报告
20145240 <Java程序设计>第一次实验报告 实验内容 一.命令行下java程序开发 1.建立Code目录,输入mkdir 20145240命令建立实验目录,并使用dir命令查看目 ...
- 20145330《Java程序设计》第一次实验报告
20145330<Java程序设计>第一次实验报告 实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...
随机推荐
- 170324、Spring 处理器和Resource
1.Spring 框架允许开发者使用两种后处理器扩展 IoC 容器,这两种后处理器扩展 IoC 容器,这两种后处理器可以后处理 IoC 容器本身,或对容器中所有的 Bean 进行后处理.IoC 容器还 ...
- Web测试系列之测试方法
一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号.禁止直接输入特殊字符 ...
- C# DataTable和DataRelation
form2.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...
- GROUP_CONCAT 拼接顺序
用 group_concat 拼接后的顺序 group_concat(id order by id) 里面id更新需要更换
- LeetCode_Compare Version Numbers
题目: Compare two version numbers version1 and version2. If version1 > version2 return 1, if versio ...
- react 获取input标签的输入值
参考:https://segmentfault.com/a/1190000012404114 两种方法,受控组件和非受控组件. 推荐使用受控组件,即通过this.state获取,因为其符合react规 ...
- King's Game---hdu5643(约瑟夫环)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5643 约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从 ...
- centos7手动编译安装Libvirt常见问题
由于功能需要,体验了手动编译安装Libvrt,还是碰到了不少问题,这里总结如下仅限于centos7: 1.configure: error: You must install the pciacces ...
- Linux命令(基础1)
一 命令的基本构成 (PS:Linux发行版本命令大概有200多个,熟练掌握个百八的就行了,其余的有个大概了解) 命令体 选项 参数(对象) ls -l /var 1.1参数:文件 文件类型: d ...
- myeclipse中更改web项目在tomcat中部署的路径
右键点击项目名称,选择属性properties,选择myeclipse->web.更改web context-root就可以.