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程序设计与数据结构教程(第二版)》学习指导

  • 相关阅读:
    ionic localstorage
    angular 中文鏈接
    把jqmobi 變成jQuery 的插件 從此使用jQuery
    jqmobi 的一些設置
    ionic ngcordova map 地圖
    ionic pull to refresh 下拉更新頁面
    json 對象的序列化
    鍵盤彈出,頁面佈局被推上去了.....
    Cordova V3.0.0中config.xml配置文件的iOS Configuration
    android ios 只能輸入數字 不能輸入小數點的 函數 cordova
  • 原文地址:https://www.cnblogs.com/Lewandodoski/p/9105295.html
Copyright © 2011-2022 走看看