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. 如何用原生js替换字符串中的某个字符(或字符串)为指定的字符串?

    <html> <head><title>我的第一个 HTML 页面</title></head><script type=" ...

  2. document.selection window.getSelection()

    IE9以下支持:document.selection  IE9.Firefox.Safari.Chrome和Opera支持:window.getSelection() 屏幕取词 function ge ...

  3. Spoken English Practice(1、This is between you and me, Don't let it out. 2、Don't let your dreams be dreams, no matter how hard it gets, say to yourself, I'm going to make it.)

    绿色:连读:                  红色:略读:               蓝色:浊化:               橙色:弱读     下划线_为浊化 口语蜕变(2017/7/12) ...

  4. Python笔记-进程Process、线程Thread、上锁

    1.对于操作系统来说,一个任务就是一个进程(Process).比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程. 2.在一个进程内部,要同时干多件事,就需要同时运行多个“ ...

  5. WeQuant交易策略—EMV

    EMV指标策略 简介 EMV(Ease of Movement Value, 简易波动指标),它是由RichardW.ArmJr.根据等量图和压缩图的原理设计而成, 目的是将价格与成交量的变化结合成一 ...

  6. 剑指Offer——两个链表的第一个公共结点

    题目描述: 输入两个链表,找出它们的第一个公共结点. 分析: 设置两个指针,分别从两个链表的头部开始往后遍历. 谁遍历完自己本身的,就从另一个链表开始遍历,这样大家到达第一个公共结点的时候便会相遇. ...

  7. c++主程这种事情,就是这样,看人先看人品,没人品,他的能力与你何关?

    这就是人品的重要性........ 接手别人的代码,说困难,也困难,说容易也容易 想把别人代码都读通,理顺,在改原代码BUG,在完美的加功能,那项目越大,越难 想把别人代码里面,加点坑,随便找个模块, ...

  8. python中lambda使用

    一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的.如下: """命名的foo函数&q ...

  9. 【转载】ARM MMU详解

    一.MMU的产生       许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以 ...

  10. undefined reference to _imp__xmlFree

    Re: [xml] MSYS and MINGW: undefined reference to _imp__xmlFree From: Mike Peat <mpeat unicorninte ...