2018-2019-2 20175317 实验三《敏捷开发与XP实践》实验报告
2018-2019-2 20175317 实验三《敏捷开发与XP实践》实验报告
一、实验步骤及内容
敏捷开发与XP实践-1
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));
}
}
实验步骤:
在IDEA中打开Settings->Plugins->Marketplace
,在其搜索框中输入alibaba
并回车,第一个搜索选项是Alibaba Java Code Guidelines
插件,点击Install
进行安装,然后重启IDE生效
重启后在项目名称上单击右键,在弹出菜单上选择编码规约扫描
就会出现如下提示:
之后根据其提示进行代码修改,在IDEA中使用工具Code->Reformate Code
把代码重新格式化一下,直至再次扫描时没有错误弹出
经过自己的实践,Code菜单中让我感觉最好用的功能是Surround With
(生成包围代码)与Unwarp/Remove
(取消代码包围),在修改代码时可以减少工作量,迅速的加入新的结构,省时省力而且使用的频次较高,比较实用
敏捷开发与XP实践-2
在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex
代码,加入不少于三个JUnit
单元测试用例,测试成功后git add .
; git commit -m "自己学号 添加内容"
;git push
;
提交搭档项目git log
的截图,包含上面git commit
的信息,并加上自己的学号水印信息。
实验步骤:
首先在码云的仓库中将搭档加为管理员,在仓库中点击管理->仓库成员管理->所有->添加仓库成员
,将邀请发送给搭档
将搭档实验二的Complex代码下载,加入JUnit单元测试用例后将代码格式化并进行测试
测试通过后将代码推送到码云中,在搭档的马云中就可以看到自己做的修改了
git log
截图如下
敏捷开发与XP实践-3
实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
实验步骤:
首先下载搭档的代码,然后选择编码规约扫描
,查看应当修改的部分
根据提示进行代码修改,需要重命名的变量或类名可以用右击->Refactor->Rename
进行重命名
完全修改好后就可以git push
了
敏捷开发与XP实践-4
- 参考 http://www.cnblogs.com/rocedu/p/6683948.html,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。
- 提交学习成果码云链接和代表性成果截图,要有学号水印。
1.体验加解密---凯撒密码
- 加密:
- 解密:
2.Java对称加密-DES算法
- 加密:
- 1.从文件中获取密钥
- 2.创建密码器(Cipher对象)
- 3.初始化密码器
- 4.获取等待加密的明文
- 5.执行加密
- 6.处理加密结果
- 解密:
- 1.获取密文
- 2.获取密钥
- 3.创建密码器(Cipher对象
- 4.初始化密码器
- 5.执行解密
3.Java非对称加密-RSA算法
- 生成双钥
- 1.创建密钥对生成器
- 2.初始化密钥生成器
- 3.生成密钥对
- 4.获取公钥和私钥
- 加密:
- 1.获取公钥
- 2.获取公钥的参数(e, n)
- 3.获取明文整数(m)
- 4.执行计算
- 解密:
- 1.读取密文
- 2.获取私钥
- 3.获取私钥的参数(d, n)
- 4.执行计算
- 5.计算明文整型数对应的字符串
4.使用密钥协定创建共享密钥
- 1.创建DH公钥和私钥
- 2.创建共享密钥
- 3.读取自己的DH私钥和对方的DH公钥
- 4.创建密钥协定对象
- 5.初始化密钥协定对象
- 6.执行密钥协定
- 7.生成共享信息
5.Java摘要算法- MD5
- 1.生成MessageDigest对象
- 2.传入需要计算的字符串
- 3.计算消息摘要
- 4.处理计算结果
二、实验过程中遇到的问题及其解决
- 问题1:在进行敏捷开发与XP实践-1选择
编码规约扫描
时出现【CodeStandard】缺少包含@author的注释信息 (line 1)
,然而我从未加入过作者信息
- 问题1解决方案:点击这个提示,在代码中会出现一个小灯泡状的提示,点击进去会有自动添加,点击自动添加,就会出现
/**
* @author Rivan
*/
再次选择编码规约扫描
,就会发现问题提示消失了。经过学习我明白了IDEA中所有类都要有创建者信息,自动生成创建者时${USER}
将会被替换成当前登录操作系统的用户名
三、码云链接
四、参考代码
Intellj IDEA 简易教程
实验三 敏捷开发与XP实践
Intellj IDEA 简易教程
IDEA快捷键拆解系列(六):Code篇
五、PSP时间
步骤 | 耗时(min) | 百分比 |
---|---|---|
需求分析 | 30 | 12.5% |
设计 | 40 | 16.7% |
代码实现 | 90 | 37.5% |
测试 | 30 | 12.5% |
分析总结 | 50 | 20.8% |