20162302 实验三《敏捷开发与XP实践》实验报告

时间:2021-10-19 06:38:22

实 验 报 告

课程:程序设计与数据结构

姓名:杨京典

班级:1623

学号:20162302

实验名称:敏捷开发与XP实践

实验器材:装有IdeaU的联想拯救者80RQ

实验目的与要求:1.代码的格式化

2.阅读和使用搭档的代码

3.重构搭档的代码

4·密码学算法

实验内容、步骤与体会:

实验内容:

代码的格式化

首先,第一项任务是格式化实践一中的代码,例子中给出的代码没有缩进,虽然能辨识,但是让人读起来很费劲,所以要进行格式化,以方便阅读。

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

格式化后的代码

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

在结对学习的时候格式化非常重要,影响着另一个人对代码的理解情况。

阅读和使用搭档的代码

首先要先从搭档的码云上找到相应的代码

20162302 实验三《敏捷开发与XP实践》实验报告

然后要把它复制到自己的项目里面,也可以直接clone整个项目,然后了解整个类,找出它的使用方法。然后建立一个测试类,这个过程就可以感受到格式化的重要性。

20162302 实验三《敏捷开发与XP实践》实验报告

重构搭档的代码

在阅读搭档的代码会发现很多有缺陷的地方,比如命名,打印格式,有没有封装等等,重构的时候要注意在读懂的前提下否则会拖累搭档的。

密码学算法

java密码学的四部分:

  • JCA( Java Cryptography Architecture, Java加密体系结构):JCA提供基本的加密框架, 如证书、 数字签名、消息摘要和密钥对产生器。
  • JCE( Java Cryptography Extension, Java加密扩展包):JCE在JCA的基础上作了扩展, 提供了各种加密算法、 消息摘要算法和密钥管理等功能。JCE的实现主要在javax.crypto包( 及其子包) 中
  • JSSE( Java Secure Sockets Extension, Java安全套接字扩展包):JSSE提供了基于SSL( Secure Sockets Layer,安全套接字层) 的加密功能。 在网络的传输过程中, 信息会经过多个主机(很有可能其中一台就被窃听) , 最终传送给接收者, 这是不安全的。这种确保网络通信安全的服务就是由JSSE来提供的。
  • JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。

本次试验实现了凯撒密码、DES算法和RSA算法。