20145335郝昊《java程序设计》第三次实验报告
实验目的与要求
- 以结对编程的方式编写一个软件,Blog中要给出结对同学的Blog网址,可以拍照展现结对编程 情况,可以参考一下其他学校的作业。
- 记录TDD和重构的过程,测试代码不要少于业务代码,Eclipse中refactor菜单下重构技能不少于5个。
- 团队代码要使用git在实验中托管,要使用团队中另一个同学的代码托管。
- 程序要有GUI界面,参考用户界面和用户体验。
- 实验报告中统计自己的PSP时间(Personal Software Process)。
实验内容
(一)敏捷开发与XP
- 学习软件工程的标准和流程,其中主要以敏捷开发流程为主,而其中有一极限编程作为学习流程的主要软件开发方法。包括:编码,测试,倾听,设计,作为学习者,我主要关注和研究了编码标准、结对编程、代码集体所有、测试、重构等。
编码标准
- 编码是一个即主观又客观的过程,每个程序员都有他自己的编程风格,但是不管到底是怎么编程,都要有一个良好的编程风格,而这个风格,就是编程标准,让代码具有了良好的可读性。
-
其次通过百度知道Idea是自动格式化代码的。而我采用Idea编译了代码,所以会简便许多。
-
但还是参照实验指导书给手动给代码添加空格,这样显得更美观许多。
重构过程
-
在现代IDE中,Refactor几乎是一项标配功能。当我们编好程序,但却发现程序的命名有问题,或者发现有需求改名可以使用如下的方法。为改善既有代码的功能。我们可以使用如下方法.
-
因为我使用Idea编辑代码,或许一些细节操作过程会与Eclipse的有些出入。
-
在下面的程序中,不仅可以对文件名进行重构,还可以对一些其他项目进行操作。以上一个例子选中buffer,执行Refactor
Git的使用
-
在传代码方面学会使用git会非常方便,git可以成量的有顺序的上传代码。
-
在使用git上传代码的时候除了之前的直接利用
git add
和git commit
和git push
等命令行外还可以用这次实验指导里的方法上传代码。 -
首先在某个文件夹下单机鼠标右键
Git Bash Here
会弹出来git 的命令行,实验命令行git clone
在中输入命令git clone + 项目地址
如git clone https://git.oschina.net/java-besti-is-ljp
然后git会自动网络连接,并下载这个https://git.oschina.net/java-besti-is-ljp
项目里的所有文件,并在当前的文件夹下形成一个新的文件夹。
-
之后打开这个下载的文件夹,将所需要的文件,或者文件夹放入这个文件中。
-
继续使用Git软件,一步步在git命令行内执行命令。首先在用git clone下载的文件夹下右键
Git Bash Here
然后一次执行命令行。
-
使用命令操作
1.
git status
2.
git add
如果是文件夹,直接输入文件夹即可,如果是文件需要加上后缀,如asd.java
3.
git status
4.
git commit -m"XXXX"
引号内的的东西是推送标签,如exp3实验三
5.
git push origin master
6.这一步为输入账户和密码,以完成最后一步的代码上传。
-
使用这个git命令行操作感觉有些投机取巧之意,没有很完整的按照直接上传的步骤,而是先下载,在上传。因为使用命令行
git clone
可以下载所有已知的项目的文件,但是在上传的时候确只能传回自己的账户信息内,所以有投机取巧之意。如果在开源中国的网站上将团队的队友添加至开发者,这样的话不仅可以下载代码,在上传的时候也可上传至团队队友的账户内,实现对同一个代码的不同修改,也是这次实验最终目的。
- 我的工作是上传代码,队友为下载代码并修改上传成功。
队友博客链接:http://www.cnblogs.com/Jclemo
实验总结:
-
通过本次实验,从java程序开发方式到代码重构都有了新的认识,同时在结对编程中体会到了团队协作的优点,在整个编程过程中对于程序整体设计理念有了更新的认识。
-
在试验过程中,出现了vim指令操作不明,无法保存退出的情况,之后通过查找vim指令集,得知“:wq”为保存退出指令。后经使用,并未保存退出,之后经过仔细查阅其他博客园博主的帖子,发现先要通过“ctrl+c”或者“esc”进行退出,之后进过退出操作,成功完成。
实验PSP (Presonal Sowftware Process)时间
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 5 | 6.25% |
设计 | 10 | 12.5% |
代码实现 | 50 | 62.5% |
测试 | 10 | 12.5% |
分析总结 | 5 | 3.25% |