2017-2018-2 《程序设计与数据结构》实验三报告
学号 2017-2018-2 《程序设计与数据结构》实验三报告
课程:《程序设计与数据结构》
班级: 1723
姓名: 康皓越
学号:20172326
实验教师:王志强
实验日期:2018年5月16日
必修/选修: 必修
1.实验内容
- 代码规范
- 协同测试
- 重构
- 密码学应用
2. 实验过程及结果
- 代码规范
- 可以看到在使用代码规范之前,我的代码几乎都存在许多问题,以standardcode作为使用代码规范的例子
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));
}
}
打开代码实时规范扫描,(图)
可以看出,许多“红色”,每一条都会有详细的错误问题,一一改正后,显示正确。
- 喜欢的功能是code-generator功能(图)
,这个功能能够迅速有效的帮助构建方法或使用junit。
2. 协同测试
- 我下载的是余坤鹏同学的Complex代码,在通过对他的代码理解后,使用junit进行了测试,并获得了结果。
- 重构
- 这次依旧是这次依旧是余坤鹏同学的代码通过对他代码的理解,我对他的代码进行了重构。(图)
4.密码学应用
- 参考 http://www.cnblogs.com/rocedu/p/6683948.html,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。本节内容较为复杂,主要是实践,通过实践,了解了Java中的加密方法。码云链接
3. 实验过程中遇到的问题和解决过程
- 阿里巴巴的代码插件下载问题
- 出现下载速度极慢的问题,在重复下载后,通过拷贝其他同学下好的插件得以成功。
- 如何下载搭档的代码
- 使用搭档的代码进行测试时,需要首先获得权限,也就是加入对方的项目时,需要对方的允许。
(图)之后,新建项目即可。
3. 密码学应用的问题
- 当运行如下代码后
import java.io.*;
import javax.crypto.*;
public class Skey_DES{
public static void main(String args[])
throws Exception{
KeyGenerator kg=KeyGenerator.getInstance("DESede");
kg.init(168);
SecretKey k=kg.generateKey( );
FileOutputStream f=new FileOutputStream("key1.dat");
ObjectOutputStream b=new ObjectOutputStream(f);
b.writeObject(k);
}
}
生成了一个.dat文件,打开后可以看到是一堆乱码。开始以为是UTF-8未转化成GBK的缘故。转化后,依旧是乱码。查询后可知,dat文件使用记事本打开后就是如此,需要特殊的方式运行方可运行。
其他(感悟、思考等)
- 密码学知识较为复杂,用到了许许多多的之前闻所未闻的方法,对于以后的帮助很大,有机会希望能够继续学习