文档章节

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

o
 osc_z1hvg4cu
发布于 2018/04/24 21:23
字数 1708
阅读 6
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

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

1、检查点要求

实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA

参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安装alibaba 插件,解决代码中的规范问题。

在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));
}
}

2、运行截图

修改前:

修改后:

使用code->Reformat对齐后:

Code菜单中我感觉最好用的功能是Generate,能迅速产生getter、setter、equals等方法;

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

1、检查点要求

在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;

提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

2、运行截图

Complex测试成功:

已经将改动上传至搭档的码云:

git log日志:

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

1、检查点要求

实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA

完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。

2、重构

当我看完了搭档的Fushu.java代码之后,我发现了很多需要优化的地方。

完成实验项目二的文件Fushu.java码云链接如下:

我将自己的几点想法总结如下:

  • 首先Fushu这个类完全是多余的,没有必要把他作为内部类Complex的外嵌类;
  • 仔细观察Fushu这个类,其中的main方法的主要目的其实是为了进行测试;
  • toString类最好能规范为Generate生成的默认格式;

基于这三点想法,我逐渐形成了自己的重构思路。完成重构后的代码截图(部分):

上传日志截图:

码云链接:

3、搭档的Complex项目码云链接

20165320Gst丶Paul / BESTI.IS.Java2018 / exp2 / Complex /

四、敏捷开发与XP实践-4

1、检查点要求

参考 http://www.cnblogs.com/rocedu/p/6683948.html,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。

提交学习成果码云链接和代表性成果截图,要有学号水印。

2、代表性成果截图

3、成果项目码云链接

https://gitee.com/BESTI-IS-JAVA-2018/20165325/tree/master/Exp3_Des


遇到的问题及部分解决方案

1、alibaba 插件下载出错

在下载alibaba 插件时出现如下错误:

Plugin Alibaba Java Coding Guidelines was not installed: Cannot download'https://plugins.jetbrains.com/pluginManager/?action=download&;id=com.alibaba.p3c.smartfox&build=IU-172.4343.14&uuid=9f9fc264-a025-47ed-9bdc-c12871794d1c': Read timed out

如图所示:

我的解决方案是:把电脑的网络由宿舍网换成了手机WiFi热点,不要笑我,这似乎确实是网络的问题,参考链接:《阿里巴巴Java开发手册》扫描插件正式发布--插件安装和使用分析

但是安装之后,发现还是不行,我真NC了,上面错误明显是 Read timed out !
于是我马上断开我的wifi,用我手机开了个热点,一试之后,下载蹭蹭的!开心!
【总结:如何报这个错误,请检查网络】

所以说似乎确实是网络的问题,另外文中提到:

IDEA版的插件 :
我们发布到了IDEA官方仓库中(最低支持版本14.1.7,JDK1.7+) 

这个也可能导致错误(不过我的版本没问题,排除这种可能性)。

2、关于git log

git log功能只能看在本机上传(或同步)的commit日志。在本次实验的第二项中,我们起初以为一个人上传以后,两个人都能用git log看见码云的commit日志,实际上只有上传者能看见。

3、关于IDEA的重构

老师的链接给的是关于Eclipse的重构,关于IDEA的重构我自己在网上找到了一些资料,总结如下:

  • IDEA 重构快捷键:
重命名文件、方法、属性等(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
  • 参考链接:

IDEA 重构快捷键 idea使用心得(3)-重构初探 第三部分:Idea重构总结

4、如何判断两个StringBuffer相等

之前在做结对编程的时候遇到了这个关于StringBuffer的问题,这次再次出错,总结一下:

  • 书上知识没有掌握充分;
  • 没有及时把解决问题的方法记录在博客里;

那么现在我们来“亡羊补牢”:

首先浅谈一下StringStringBuffer的几点区别:

  • Stringfinal类,不允许继承,对于append这样的操作只能新建new String,而StringBuffer是可变类,不需要重新new StringBuffer,所以在字符串操作上性能非常好。
  • Stringequals方法因为重写了Objectequals方法,所以可以比较字符串的内容,而StringBuffer因为没重写equals方法,直接继承了Objectequals方法,所以不行。

那么如何比较StringBuffer字符串内容是否相等呢?

总结一下:可以使用toString() 方法将StringBuffer的内容转换为String 字符串,再使用equals()方法比较。

参考链接:比较StringBuffer字符串内容是否相等?

5、找不到SDK

实际上这是关于Android Studio的东西,我暂时先放在这一篇博客里面。

刚刚安装好了Android Studio以后,以一次打开出现了错误代码:

unable to access android sdk-on list

在老师的博客指导里面让我们下载SDK,其实我们可以让Android Studio自己下载,因此在下图中你只需要点cancel就行。

参考链接:unable to access android sdk add-on list

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
20165218 2017-2018-2 《Java程序设计》课程总结

20165218 2017-2018-2 《Java程序设计》课程总结 一、每周作业链接汇总 20165218 我期望的师生关系 20165218 学习基础和C语言基础调查 20165218 预备作业3 Linux安装及学习 20165218 2017-20...

osc_apej9ed1
2018/06/10
9
0
20165303 2017-2017-2《Java程序设计》课程总结

1、我期待的师生关系20165303我期望的师生关系2、学习基础和C语言基础调查20165303学习基础和C语言基础调查3、linux安装及学习20165303 预备作业3 Linux安装及学习4、git入门教学20165303魏煜...

osc_apej9ed1
2018/06/10
5
0
2017-2018-2 20165325 实验四《Android程序设计》实验报告

一、Android程序设计-1 1、检查点要求 Android Stuidio的安装测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章: 参考http://www.cnblogs.com/ro...

osc_c0g7cjrk
2018/05/12
2
0
2017-2018-2 20165325 实验五《网络编程与安全》实验报告

一、网络编程与安全-1 1、检查点要求 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中...

osc_u9ren84z
2018/05/26
2
0
《Java程序设计》课程实验要求

《Java程序设计》课程实验要求 [TOC] 注册实验楼账号 进入《Java 程序设计》-BESTI-IS课程,邀请码:DLUH8XBH 实验一 Java开发环境的熟悉 参考 ”实验一 Java开发环境的熟悉(Linux + Eclips...

osc_es027r49
2019/03/18
3
0

没有更多内容

加载失败,请刷新页面

加载更多

java架构师成长路线-高并发网络编程的分类

鲁班学院java架构师成长路线 随着互联网时代的到来,高并发网络编程这一新鲜名词早已跃然于纸上,为了满足大众眼光的需求,我为大家找了些关于高并发网络编程方面的资料,本文便来介绍高并发...

osc_o494ayqf
12分钟前
0
0
python dict乱码如何解决

定义字典并直接输出,结果输出结果中文是乱码展示 d={'name':'lily','age':18,'sex':'女','no':1121}print d 输出结果: {'age': 18, 'no': 1121, 'name': 'lily', 'sex': '\xe5\xa5\xb3'}...

osc_9mjo6c4e
13分钟前
7
0
硬肝50天,18w字的实战编程资料《重学Java设计模式》终于 出炉了

沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 作者从5月20日那天投身实战型设计模式打磨,通过模拟互联网业务开发实际需求作为学习场景,讲解设计模式。 全书共计22个真实业务场景...

osc_zls6dx9i
15分钟前
20
0
怎么才能让Spring AOP有最大的作用--乐字节java

Spring AOP 日志处理带来的问题 我们有一个Pay(接口) 然后两个实现类DollarPay和RmbPay,都需要重写pay()方法, 这时我们需要对pay方法进行性能监控,日志的添加等等怎么做? 最容易想到的方法...

osc_sb30h1xb
17分钟前
10
0
Python 实现将numpy中的nan和inf,nan替换成对应的均值

nan:not a number inf:infinity;正无穷 numpy中的nan和inf都是float类型 t!=t 返回bool类型的数组(矩阵) np.count_nonzero() 返回的是数组中的非0元素个数;true的个数。 np.isnan() 返回b...

osc_sfl7wfr9
18分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部