20172319 实验三 《敏捷开发与XP实践》 实验报告
20172319 2018.05.17-30
实验三 《敏捷开发与XP实践》 实验报告
课程名称:《程序设计与数据结构》
学生班级:1723班
学生姓名:唐才铭
学生学号:20172319
实验教师:王志强老师
课程助教:刘伟康、张旭升学长
实验时间:2018年5月17日——2018年5月30日
必修/选修:必修
目录
实验内容
- XP基础
- XP核心实践
- 相关工具
实验要求
- 没有Linux基础的同学建议先学习《Linux基础入门(新版)》和《Vim编辑器》课程
- 完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导。
- 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。
实验步骤
前期准备:
- 预先安装好IDEA
- 在IDEA中安装Alibaba插件

需求分析:
- 需要初步掌握单元测试和TDD;
- 需要理解并掌握Git的用法;
- 需要认识、了解IDEA中工具栏内的功能及相关用法;
- 需要认识、了解并掌握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的信息,并加上自己的学号水印信息。
相关截图:


3.重构:
完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
相关截图:
重构内容: 类名,封装变量,方法。


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


测试过程及遇到的问题
- 问题1:第四个提交点很模糊
- 解决:参考蓝墨云张昊然同学的提问及王志强老师的解答。
- 问题2:java密码学
- 解决:娄老师的博客其实算得上是很仔细的了,但文字过多,一看过就忘了,为了加深认知,自己去找了点资料,有助于理解。
密码学算法及应用(一)
密码学算法及应用(二)
密码学算法及应用(三)
分析总结
- 密码这东西有点复杂,个人对于此类东西不感兴趣,但接触更有利于学习。
参考资料
Intellj IDEA 简易教程
Java 密码学算法
实验三 敏捷开发与XP实践
20172319 实验三 《敏捷开发与XP实践》 实验报告的更多相关文章
- 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...
- 20162311 实验三 敏捷开发与XP实践 实验报告
20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ...
- 20165308实验三 敏捷开发与XP实践实验报告
实验三 敏捷开发与XP实践实验报告 实验目的 安装 alibaba 插件,解决代码中的规范问题.再研究一下Code菜单,找出一项让自己感觉最好用的功能. 在码云上把自己的学习搭档加入自己的项目中,确认 ...
- 20165230 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
20165230 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:田坤烨 学号:20165230 成绩: 指导教 ...
- 20155207王雪纯 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
20155207王雪纯 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...
- 20155220 实验三 敏捷开发与XP实践 实验报告
20155220 实验三 敏捷开发与XP实践 实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim ...
- # 20155224 实验三 敏捷开发与XP实践 实验报告
20155224 实验三 敏捷开发与XP实践 实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim ...
- 20155226 实验三 敏捷开发与XP实践 实验报告
20155226 实验三 敏捷开发与XP实践 实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim ...
- 20155311 实验三 敏捷开发与XP实践 实验报告
20155311 实验三 敏捷开发与XP实践 实验报告 实验内容 XP基础 xp核心工具 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim ...
- 2016-2017-2 20155339 《Java面向对象程序设计》实验三敏捷开发与XP实践实验报告
2016-2017-2 20155339 <Java面向对象程序设计>实验三敏捷开发与XP实践实验报告 实验内容 XP基础 XP核心实践 相关工具 实验内容 一.在IDEA中使用工具(Co ...
随机推荐
- haproxy + lvs异同(优点-缺点)
LVS和HAProxy相比,它的异同是什么? 1. 两者都是如软件负载均衡.但lVS是基于linux操作系统实现的一种软负载均衡,Haproxy是根据第三 方应用实现的软负载均衡. 2. LVS是 ...
- 很清晰的解读i2c协议
很清晰的解读i2c协议 转载:http://dpinglee.blog.163.com/blog/static/14409775320112239374615/ 1.I2C协议 2条双向串行线,一条数 ...
- 在CentOS/RHEL 6.4上安装Chromium
是的,之前Google就说了,由于CentOS/RHEL 6已经是过期的系统,所以不再会有Chrome了.虽然后来由于引起了社区的抗议,从而改口,不再提CentOS/RHEL 6是过期系统了:但是,目 ...
- TinkerPop简述
ThinkerPop Apache 顶级项目 概述 TinkerPop是一个面向实时事务处理(OLAP)以及批量.分析型(OLTP)的开源的图计算框架.TinkerPop是一个可以应用于不同图形数据库 ...
- jekyll建站详细教程
Jekyll是一款静态博客生成器,也是github page支持的后台引擎,所以如果你有以下需求,极力推荐使用jekyll搭建博客,>>浏览我的博客 个性化的展示界面,站点逻辑 个性化的域 ...
- 【转载】WCF 客户端识别认证之UserName认证
原文地址: http://blog.csdn.net/zxz414644665/article/details/9308055 过程:用户调用service,服务端验证用户传来的用户名和密码(传输过程 ...
- JavaScript总结(一)
什么是JavaScript? 首先我们要知道它是什么?JavaScript是一门专门用来对网页进行编程的脚本语言:因为我是学习Java之后再来学习JavaScript的,所以我的第一疑问JavaScr ...
- [Deep-Learning-with-Python]神经网络的数学基础
理解深度学习需要熟悉一些简单的数学概念:Tensors(张量).Tensor operations 张量操作.differentiation微分.gradient descent 梯度下降等等. &q ...
- 4 django篇
1.django请求生命周期 wsgi, 他就是socket服务端,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架 (Flask.Django) 中间件,帮助我们对请求进行校验或在请求 ...
- 【LG3721】[HNOI2017]单旋
[LG3721][HNOI2017]单旋 题面 洛谷 题解 20pts 直接模拟\(spaly\)的过程即可. 100pts 可以发现单旋最大.最小值到根,手玩是有显然规律的,发现只需要几次\(lin ...