20165301陈潭飞2017-2018-2 20165325 实验三《Java面向对象程序设计》实验报告

2017-2018-2 20165325 实验三《Java面向对象程序设计》实验报告

一、敏捷开发与XP实践-1

实验要求:
  • 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。
public class CodeStandard {
public static void main(String [] args){
StringBuffer buffer = new StringBuffer();
buffer.append(‘S‘);
buffer.append("tringBuffer");
System.out.println(buffer.charAt(1));
System.out.println(buffer.capacity());
System.out.println(buffer.indexOf("tring"));
System.out.println("buffer = " + buffer.toString());
if(buffer.capacity()<20)
buffer.append("1234567");
for(int i=0; i<buffer.length();i++)
System.out.println(buffer.charAt(i));
}
}
实验截图
  • 在IDEA中点击setting---Plugins---Brows Repositories,搜索alibabba并下载

  • 在项目上右击选择编码规约扫描

  • 格式化之前

  • 格式化之后

  • 使用code->Reformat对齐后

二、敏捷开发与XP实践-2

实验要求
  • 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。
实验截图

三、敏捷开发与XP实践-3

实验要求
  • http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
  • 完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
实验内容及截图
  • 重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。
  • 重构方法

  • 重建快捷键
  • 重命名文件、方法、属性等(rename):SHIFT+F6
  • 提取当前选择为变量(extract variable):CTRL+ALT+V
  • 提取当前选择为属性(extract field):CTRL+ALT+F
  • 提取当前选择为常量(extract constant):CTRL+ALT+C
  • 提取当前选择为方法(extract method):CTRL+ALT+M
    • 提取当前选择为方法参数(extract parameter):CTRL+ALT+P
  • 重构类、方法(change signarture):CTRL+F6
  • 提取代码块至if、try等结构中(surround with):CTRL+ALT+T
  • 创建模块文件等(new):CTRL+ALT+N
  • 创建测试用例(test):CTRL+SHIFT+T
  • 重构菜单(refactor for this):CTRL+T
  • 重构过程

重构前的代码


public class csj
{
    public static int csj(int n)
    {
        if(n>=0)
            if(n==0||n==1)
                return n;
            else
                return csj(n-2)+csj(n-1);
        return -1;
    }
    public static void main(String args[])
    {

        int m=25,n;
        int fib[]=new int[m];
        for(n=0;n<m;n++)
            fib[n]=csj(n);
        for(n=0;n<fib.length;n++)
            System.out.print(" "+fib[n]);
        System.out.println();
    }
}
  • 代码存在如下问题:

    • 类名不符合命名规则;
    • 语句结构不方便阅读
  • 实验截图

三、敏捷开发与XP实践-3

实验内容
实验截图

实验体会与总结

  • 本次实验过后我学会了alibaba插件的使用,可以很方便地规范我的代码。并且初步掌握了重构这项技能。不过由于代码理解能力不足,在重构时不容易发现程序不足之处因而无法顺利地规范代码,这是在以后应该学习进步的地方。
步骤 耗时 百分比
需求分析 20 13.7%
设计 30 20.6%
代码实现 50 34.4%
测试 30 20.6%
分析总结 15 10.3%

原文地址:https://www.cnblogs.com/CTF5301/p/8965149.html

时间: 2024-07-30 07:06:29

20165301陈潭飞2017-2018-2 20165325 实验三《Java面向对象程序设计》实验报告的相关文章

飞谷云六期第三组——基于Spark的机器学习

项目正式开始时间:2015.10.15. 随笔内容:本次项目的主题是基于Spark的ML.对于ML的学习有大概半年了,正好在网上关注到了由上海交通大学所主办的这个飞谷云的大数据项目,我所报名的这期已经是飞谷云的第六期了,在网上和群里了解了一段时间后大算报名参与一次,毕竟之前没有参与过真正的项目开发,也刚好趁着在学习ML的这个时间通过项目把理论和实践都加强.在这篇随笔中,我打算把这次项目的每个过程都写进来,一是为了给正在进行的项目提供一个全程记录:二是给自己一个留念,毕竟是自己独立完成的一个ML方

2017面向对象程序设计(Java)第二周学习总结

2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为第一周学长正在家里吃西瓜吹空调.好了,闲言少叙.我先为你们介绍一下助教的职责,而后再对你们的学习情况进行总结! 身为你们本学期Java课程的助教...之一,我的任务是:指导你们学习,批改我所负责学习小组的实验作业.阅读博文并回复.其他学习小组会有另外三位助教负责.由于我们每周五都会汇总你们的情况,其

2017秋季面向对象程序设计(Java)教材、教学纲要、考核要求

教材简况 凯 S.霍斯特曼 (Cay S. Horstmann)(作者), 周立新(译者), Java核心技术(卷1):基础知识(原书第10版) , 2016年9月1出版 本书包括两卷,选做教材的是卷Ⅰ. 图书封面 Java领域最有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与<Java编程思想>齐名,10余年全球畅销不衰,广受好评.这本书最大的优点是更新比较及时,第10版根据JavaSE8全方面更新,同时修正了第9版中的不足,系统全面地讲

2017面向对象程序设计(Java) 第1周学习指导及要求(2017.8.24-2017.8.27)

2017面向对象程序设计(Java) 第1周学习指导及要求(2017.8.24-2017.8.27)   学习目标 了解课程上课方式及老师教学要求,掌握课程学习必要的软件工具: 简单了解Java特点及历史: 理解JVM.JRE与JDK等概念,学会下载.安装.测试JDK: 掌握PATH.CLASSPATH的系统变量作用并会设置: 掌握命令行编译并运行Java程序的步骤: 掌握Java Application 程序结构特点: 了解Java Applet程序结构及运行要求: 初步使用Elipse,学会

2017面向对象程序设计寒假作业3!

实现简单电梯调度(2) GitHub:pullself 承接上文:2017面向对象程序设计寒假作业2! 上文调度方式的更新与优化 由于现在电梯可以在任意楼层停靠并且上下人.进行对应的修改. 建立在上文所使用的调度方式为基础,继续给出以预知和非预知为条件的两个程序. 代码行数 调试bug 编码时间 ?行 ?个 ?h ?行 ?个 ?h 预知版本 通过分析,我们可以知道,只需要对搜索方式进行修改即可,修改为通过接受到的请求,动态增加所需要搜索节点. 具体实现方式: 在搜索过程中加入目的地判断与记录.

【2017级面向对象程序设计寒假作业】第2次成绩排行

[2017级面向对象程序设计寒假作业]第2次成绩排行 作业地址 http://www.cnblogs.com/easteast/p/8421230.html 评分准则 本次作业满分 20 分,其中代码分数 10分.博客分数 10 分. 代码得分点在于: 运行10个测试点,视通过测试点的数量而定基础分.若存在仓库无代码文件或代码不通过编译.编译后无法运行等则视情况扣除大量分数. 是否符合输出规范.由于此次主要测试在于最终输出的乘客等待时间和,若对于各楼层的停靠情况的输出不合理则扣分较少,希望在之后

20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结

20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中的声明的变量所定义.对象的操作可能改变该对象的状态.对象的操作由 类中声明的方法定义. 类的分析:类的成员(类的数据和方法):构造方法(给类赋初值):实例数据(变量声明的位置定义其作用域):UML类图(类及其对象关系可视化描述). 封装:(1) 可见性修饰符:public(公有):private(私有,只能从

2018面向对象程序设计(Java)第一周

2018面向对象程序设计(Java) 第1周学习指导及要求(2018.8.24-2018.9.2)   学习目标 了解课程上课方式及老师教学要求,掌握课程学习必要的软件工具: 简单了解Java特点及历史: 理解JVM.JRE与JDK等概念,学会下载.安装.测试JDK: 掌握PATH.CLASSPATH的系统变量作用并会设置: 掌握命令行编译并运行Java程序的步骤: 掌握Java Application 程序结构特点: 掌握JDK命令行方式下开发运行Java程序的步骤. 初步使用Elipse,学

2018面向对象程序设计(java)课程学习进度条

<2018面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/博客评论量 课堂/课余学习时间(小时) 最满意的编程任务 第一周 40/20 1/0 4/5 九九乘法表 第二周 100/40 1/1 4/5 实验3 第三周 300/ 1/0 4/7 第四周 第五周 第六周 第七周 第八周 第九周 第十周 第十一周 第十二周 第十三周 第十四周 第十五周 第十六周 第十七周 累计 原文地址:https://www.cnblogs.com/tangyuechen/