• 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

    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%
  • 相关阅读:
    MFC单文档视图设置背景
    原来这就是命令行下的“学生信息管理系统”
    C语言中数组&取地址的问题
    《逐梦旅程-Windows游戏编程之从零开始》 勘误
    杭电ACM 1003 ( 动态规划法 水题)
    《编程之美》
    [蓝桥杯][2014年第五届真题]地宫取宝
    [蓝桥杯][2013年第四届真题]危险系数
    2142: 逛超市(zznuoj)
    2141:2333(zznuoj)
  • 原文地址:https://www.cnblogs.com/20175317zrw/p/10789559.html
Copyright © 2020-2023  润新知