20165220 实验三 敏捷开发与XP实践 实验报告
2024-10-11 04:46:01
实验三 敏捷开发与XP实践-1
实验要求:
实验三 敏捷开发与XP实践 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));
}
} 使用工具(Code->Reformate Code)把下面代码重新格式化:
找出一项自己感觉最好用的功能:在IDEA中的code菜单中的功能基本上都是关于代码本身的,格式化,代码上下换行等等,其中有optimize imports这一个选项,它的主要功能是删除无用和错误的import,我觉得挺好用的。 实验三 敏捷开发与XP实践-2
实验要求:
在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push; 提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。 进入搭档的Complex代码
加入三个JUnit单元测试用例
上传码云
实验三 敏捷开发与XP实践-3
实验要求:
实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
重构之前的搭档代码
重构后代码
import java.util.Scanner;
public class Prime {
public static void main(String[] args) {
System.out.println("请输入一个正整数:");
Scanner scanner=new Scanner(System.in);
int N;
N=scanner.nextInt();
System.out.printf("1-%d的质数有:",N);
for(int j=2;j<=N;j++) {
if (zhishu(j)) {
System.out.printf("%d,", j);
}
}
System.out.println("\n");
} public static boolean zhishu(int j) {
if (j == 1) {
return false;
}
else if(j==2){
return true;
}
else{
for (int i = 2; i < j; i++) {
if (j % i == 0) {
return false;
}
}
}
return true;
}
}
运行如下
上传码云:
实验三 敏捷开发与XP实践-4
实验要求:
参考 http://www.cnblogs.com/rocedu/p/6683948.html,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。 提交学习成果码云链接和代表性成果截图,要有学号水印。
提交学习成果码云链接和代表性成果截图,要有学号水印。
我们遇到的安全问题可以归结为安全的三个属性(CIA金三角):
- 机密性(Confidentiality):确保数据仅能被合法的用户访问, 即数据不能被未授权的第三方使用。
- 完整性(Integrity):主要确保数据只能由授权方或以授权的方式进行修改,即数据在传输过程中不能被未授权方修改。
- 可用性(Availability):主要确保所有数据仅在适当的时候可以由授权方访问。
Java安全体系结构总共分为4个部分:
- JCA( Java Cryptography Architecture, Java加密体系结构):JCA提供基本的加密框架, 如证书、 数字签名、消息摘要和密钥对产生器。
- JCE( Java Cryptography Extension, Java加密扩展包):JCE在JCA的基础上作了扩展, 提供了各种加密算法、 消息摘要算法和密钥管理等功能。JCE的实现主要在javax.crypto包( 及其子包) 中
- JSSE( Java Secure Sockets Extension, Java安全套接字扩展包):JSSE提供了基于SSL( Secure Sockets Layer,安全套接字层) 的加密功能。 在网络的传输过程中, 信息会经过多个主机(很有可能其中一台就被窃听) , 最终传送给接收者, 这是不安全的。这种确保网络通信安全的服务就是由JSSE来提供的。
- JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。
public static void main(String args[]) throws Exception{
String s=args[0];
int key=Integer.parseInt(args[1]);
String es="";
for(int i=0;i<s.length( );i++)
{ char c=s.charAt(i);
if(c>='a' && c<='z') // 是小写字母
{ c+=key%26; //移动key%26位
if(c<'a') c+=26; //向左超界
if(c>'z') c-=26; //向右超界
}
else if(c>='A' && c<='Z') // 是大写字母
{ c+=key%26;
if(c<'A') c+=26;
if(c>'Z') c-=26;
}
es+=c;
}
System.out.println(es);
}
重构后代码:
结队感受:在这周的实验和结对编程过程中,20165231王扬鸿永表现很勤奋,积极思考,有创新意识,这一点很好,让我感到很欣慰。
就是思维模式有些僵硬,如果在思考上再更进一步那就更好了。
PSP2.2 | Personal Software Process Stages | 预估耗时(小时) | 实际耗时(小时) | |
---|---|---|---|---|
Planning | 计划 | 1 | 1 | |
· Estimate | · 估计这个任务需要多少时间 | 5 | 10 | |
· Analysis | · 需求分析 (包括学习新技术) | 2 | 2 | |
· Design Spec | · 生成设计文档 | 1 | 1 | |
· Design Review | · 设计复审 (和同事审核设计文档) | 1 | 1 | |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 1 | 1 | |
· Design | · 具体设计 | 2 | 3 | |
· Coding | · 具体编码 | 5 | 6 | |
· Code Review | · 代码复审 | 1 | 1 | |
· Test | · 测试(自我测试,修改代码,提交修改) | 1 | 1 | |
Reporting | 报告 | 1 | 1 | |
· Test Report | · 测试报告 | 2 | 2.5 | |
· Size Measurement | · 计算工作量 | 0.5 | 0.5 | |
· Postmortem & Process | · 事后总结, 并提出过程改进计划 | 3 | 2 |
最新文章
- Web String path问题
- C++ STL泛型编程——在ACM中的运用
- http://blog.csdn.net/foreverling/article/details/51385128
- SQL SERVER索引
- POJ3352 Road Construction(边双连通分量)
- TFS 2010 配置的时候,提示TF255466错误
- html5 drag api详解
- css斜线
- velocity 快速入门
- DataGridView 列自适应宽度 设置
- 关于 Unity NavMesh 数据的访问
- win7 tomcat
- X windows的底层实现机制
- Qt学习之路MainWindow学习过程中的知识点
- SEO高手和SEO屌丝的八个区
- phoenix技术(安装部署和基本使用)讲解
- 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)
- Docker生态不会重蹈Hadoop的覆辙
- MultiDataTrigger
- 弄清java中的字节与字符
热门文章
- centos6.5安装python2.7、pip、numpy、scipy
- 《JavaWeb从入门到精通》(明日科技,清华大学出版社)
- Confluence 6 home 目录中的内容
- Confluence 6 MySQL 输入你的数据库细节
- SpringData使用与整合
- 初见TensorFlow :知其所以然
- jQuery 选择器demo练习
- 步步为营-76-用户登录(Session+Cookie)
- 添加依赖:https://mvnrepository.com/
- 51 NOd 2006 飞行员配对(匈牙利算法二分匹配)