20172319 2018.05.17-30

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

课程名称:《程序设计与数据结构》
学生班级:1723班
学生姓名:唐才铭
学生学号:20172319
实验教师:王志强老师
课程助教:刘伟康、张旭升学长
实验时间:2018年5月17日——2018年5月30日
必修/选修:必修

目录


实验内容

  1. XP基础
  2. XP核心实践
  3. 相关工具

返回目录


实验要求

  1. 没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》课程
  2. 完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导
  3. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

返回目录


实验步骤

前期准备:

  1. 预先安装好IDEA
  2. 在IDEA中安装Alibaba插件

需求分析:

  1. 需要初步掌握单元测试和TDD;
  2. 需要理解并掌握Git的用法;
  3. 需要认识、了解IDEA中工具栏内的功能及相关用法;
  4. 需要认识、了解并掌握java密码学的相关知识。

返回目录


代码实现及解释

本次实验一共分为四个提交点:

  • 1.代码规范:
  • 参考实验三 敏捷开发与XP实践 ,Eclipse的内容替换成IDEA;
  • 参考Intellj 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));
}
}
  • 格式化后的代码及截图
package exp3;
/**
* Demo class
*
* @author 唐才铭
* @date 2018/5/16
*/
public class CodeStandard {public static void main(String [] args){
StringBuffer buffer = new StringBuffer();
int length = 20;
buffer.append('S');
buffer.append("tringBuffer");
System.out.println(buffer.charAt(1));
System.out.println(buffer.capacity());
System.out.println(buffer.indexOf("tring"));
String output = "buffer = " + buffer.toString();
System.out.println(output);
if(buffer.capacity()<length) {
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的信息,并加上自己的学号水印信息。

  • 对搭档的实验二的Complex代码写JUnit单元测试代码

  • 相关截图:



  • 3.重构:

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

  • 相关截图:

  • 重构内容: 类名,封装变量,方法。



  • 4.密码学应用:
  • 参考Java 密码学算法 ,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。
  • 提交学习成果码云链接和代表性成果截图,要有学号水印。
  • 相关截图:



返回目录


测试过程及遇到的问题

返回目录


分析总结

  • 密码这东西有点复杂,个人对于此类东西不感兴趣,但接触更有利于学习。

返回目录


参考资料

Intellj IDEA 简易教程

Java 密码学算法

实验三 敏捷开发与XP实践

返回目录

最新文章

  1. Javascript设计模式学习二(单例)
  2. 介绍.NET 开发必备工具 .NET Portability Analyzer
  3. 企业IT管理员IE11升级指南【1】—— Internet Explorer 11增强保护模式 (EPM) 介绍
  4. Gambler&#39;s Ruin Problem and 3 Solutions
  5. 在.net中使用aquiles访问Cassandra(四)
  6. Python3基础 isinstance 判断一个变量是否为指定的类型
  7. 如何创建 CSS
  8. Android Services重点记录
  9. Golang Deco Enco
  10. ocp 1Z0-042 121-178题解析
  11. AndroidManifest.xml解释说明和android的启动过程
  12. SQLite查询优化性能要点
  13. php 拓展 Filter 过滤器
  14. 《JavaScript 闯关记》之初探
  15. List分组 用于客服对话分组场景
  16. 大数据(1):基于sogou.500w.utf8数据的MapReduce程序设计
  17. 你不知道的JS之作用域和闭包(三)函数 vs. 块级作用域
  18. Docker搭建ElasticSearch+Redis+Logstash+Filebeat日志分析系统
  19. Java容器——List接口
  20. ABAP的匹配

热门文章

  1. C++中关于配置文件的问题
  2. 关于NSStringFromClass的一点见解
  3. 大数据入门:Hadoop安装、环境配置及检测
  4. C语言 有关内存的思考题
  5. bzoj1043 [HAOI2008]下落的圆盘
  6. [洛谷P2057][bzoj1934]善意的投票(最大流)
  7. JetBrains全家桶使用攻略
  8. flask 实现异步非阻塞----gevent
  9. appium 遇到的坑
  10. 把模块有关联的放在一个文件夹中 在python2中调用文件夹名会直接失败 在python3中调用会成功,但是调用不能成功的解决方案