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 addgit commitgit 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可以下载所有已知的项目的文件,但是在上传的时候确只能传回自己的账户信息内,所以有投机取巧之意。如果在开源中国的网站上将团队的队友添加至开发者,这样的话不仅可以下载代码,在上传的时候也可上传至团队队友的账户内,实现对同一个代码的不同修改,也是这次实验最终目的。



实验总结:

  • 通过本次实验,从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%

20145335《java程序设计》第三次实验报告的更多相关文章

  1. 20145330《Java程序设计》第二次实验报告

    20145330<Java程序设计>第二次实验报告 实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承多态 3.初步掌握UM ...

  2. 20145320《Java程序设计》第二次实验报告

    20145320<Java程序设计>第二次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.12 15: ...

  3. 《Java程序设计》第二次实验报告

    20145220 <Java程序设计>第二次实验报告 课程:Java程序设计 指导教师:娄嘉鹏 实验日期:2016.04.12 实验名称:Java面向对象程序设计 实验内容 初步掌握单元测 ...

  4. 20145333 《Java程序设计》第二次实验报告

    2014333 <Java程序设计>第二次实验报告 课程:Java程序设计 指导教师:娄嘉鹏 实验日期:2016.04.12 实验名称:Java面向对象程序设计 实验内容 初步掌握单元测试 ...

  5. 20145240 《Java程序设计》第二次实验报告

    20145240 <Java程序设计>第二次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.12 实验 ...

  6. Java程序设计第四次实验报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:java程序设计 班级:1352  姓名:何伟钦  学号:20135223 成绩:            指导教师:娄嘉鹏 ...

  7. 20145216史婧瑶《Java程序设计》第二次实验报告

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  8. 20145231《Java程序设计》第二次实验报告

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD: 理解并掌握面向对象三要素: 初步掌握UML建模: 熟悉S.O.L.I.D原则: 了解设计模式: 实验要求 实现并体会例子中代码的 ...

  9. 201521123008<java程序设计>第三周实验总结

    1.本周学习总结 2.书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; pub ...

随机推荐

  1. netty接收大文件的方法

    参考:http://blog.csdn.net/linuu/article/details/51371595 https://www.jianshu.com/p/a0a51fd79f62 netty默 ...

  2. html 标签转译反转译

    如果要在 html 标签内原样插入带 html 标签的文字,通常都会被自动解析掉,比如: document.getElementsByTagName('div')[0].innerHTML=" ...

  3. 04.Curator Leader选举

        在分布式计算中,leader election是很重要的一个功能,这个选举过程是这样子的:指派一个进程作为组织者,将任务分发给各节点.在任务开始前,哪个节点都不知道谁是leader或者coor ...

  4. python - while语句/pass/死循环/break/continue/while...else...

    程序开发的原则: 写重复代码 是可耻的行为: 1.while 条件: 执行代码... #循环打印0-100count = 0 while count <= 100: print("lo ...

  5. 多进程使用matplotlib.pyplot绘heatmap(多线程不可以)

    数据格式如下: 8_15/l_eye/2732.png -20.5773 -5.17769 -3.34583 21.5859 9_13_1/l_eye/1211.png -10.1145 34.992 ...

  6. 一道Python面试题

    无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun():    temp = [lambda x : i*x for i in range(4)]    return ...

  7. oracle入门(7)——存储过程

    [本文介绍] 熟悉了PL/SQL语法后,实现java调用oracle存储过程才是主要目的.本文将介绍如何写存储过程,java如何调用存储过程. [存储过程介绍] 抛开专业的描述,存储过程就是在数据库里 ...

  8. 除去DataTable中的空行!

    昨天向数据库中导入Excel数据时  由于空行 总是报错!下面附上两种去除空行的方法! 方法一.某行某列值为空时 DataView dv = dt.DefaultView;              ...

  9. 使用QJM构建HDFS HA架构(2.2+)

    转载自:http://blog.csdn.net/a822631129/article/details/51313145 本文主要介绍HDFS HA特性,以及如何使用QJM(Quorum Journa ...

  10. 格式化字符串函数sprintf

    sprintf.snprintf相关函数的主要功能是把格式化的数据写入某个字符串.如最常见的应用是将整数或浮点数转换为字符串. 1.sprintf 将格式化的数据写入字符串,并自动在末尾加上一个空字符 ...