zoukankan      html  css  js  c++  java
  • 20172323 2017-2018-2 《程序设计与数据结构》实验三报告

    课程:《程序设计与数据结构》
    班级: 1723
    姓名: 王禹涵
    学号:20172323
    实验教师:王志强
    实验日期:2018年5月27日
    必修/选修: 必修

    1.实验内容

    实验三 敏捷开发与XP实践
    (1)代码规范

    • http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
    • 参考 代码规范 安装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)协同测试
    在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;

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

    (3)重构
    http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA

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

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

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

    2. 实验过程及结果

    1.代码规范

    • 打开 Settings -> Plugins -> Browse repositories...
      在搜索框输入alibaba即可看到Alibaba Java Code Guidelines插件,点击Install进行安装,然后重启IDE生效:
    • 右键点击需要规范的代码文件,会出现一个“代码规约扫描”,单击后不规范的地方会定位到行,有些可以一键修复,有些需要手动修复,总之这一步比较简单,不再详述

    2.协同测试

    • 先加入结对同学的编程项目,复制Complex文件代码到本地
    • Complex代码提供了一种算法,首先生成JUnit测试文件,定义一串变量
      Complex num1 = new Complex(1,2); Complex num2 = new Complex(1,-2); Complex num3 = new Complex(2,2); Complex num4 = new Complex(2,-2);
      数字可以随便设定,然后在不同的方法下写测试语句,比如在testComplexAdd方法下写测试语句assertEquals(new Complex(2,0),num1.ComplexAdd(num2));,类似地再在其他测试方法下写相似的语句,运行之后显示测试已通过,点击右下角有一个Event Log并截图如下

    3.重构

    重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。

    先选择一个以前的Java文件,首先看名字book.java,没什么大的问题。代码好像也没什么不易于阅读,不易于维护,不易于变更的地方

    可是非要重构一下,那就只有勉为其难地封装一下,添加setxxx()的语句在括号里加上string a一类的,最后再在前端加上
    public Book(String a,String b, String c, String d){ setBookname(a); setAuthor(b); setPress(c); setCopyrightdate(d); }
    重构就算完成了,似乎更加不易变更了呃呃呃

    4.密码学应用

    虽然要操作的内容比较多,但基本还是以复制粘贴为主。但好像还是有一些需要不只是复制粘贴,比如创立DH公钥和私钥这一步,就需要先创建A和B两个目录,然后再分别在两个目录中执行操作创立公钥和私钥。

    3. 实验过程中遇到的问题和解决过程

    问题:进行JUnit测试时,通过不同地方生成的JUnit测试不一样额
    问题1解决方案:下图是通过右键点击类名Complex然后在选项中选择生成->JUnit4测试生成的

    而这张图是通过在类名Complex处alt+enter弹出的创建JUnit4测试出来的

    按理说应该是一样的,但是最后生成的测试区别很大

    4.其他

    虽然教材的内容已经告一段落了,但是学习的海洋是无法穷尽的。就比如本次实验四个步骤每一步都有很多全新的东西,所以学习的脚步永远不能停歇!

    5.参考资料

    • 《Java程序设计与数据结构教程(第二版)》

    • 《Java程序设计与数据结构教程(第二版)》学习指导

  • 相关阅读:
    课堂练习
    《你的灯亮着吗》第二篇总结
    四则运算2程序
    《你的灯亮着吗》第一篇总结
    四则运算2
    阅读计划
    四则运算
    《人月神话》读后感
    软件演化
    软件测试
  • 原文地址:https://www.cnblogs.com/Lewandodoski/p/9105295.html
Copyright © 2011-2022 走看看