实验三 敏捷开发与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

最新文章

  1. Web String path问题
  2. C++ STL泛型编程——在ACM中的运用
  3. http://blog.csdn.net/foreverling/article/details/51385128
  4. SQL SERVER索引
  5. POJ3352 Road Construction(边双连通分量)
  6. TFS 2010 配置的时候,提示TF255466错误
  7. html5 drag api详解
  8. css斜线
  9. velocity 快速入门
  10. DataGridView 列自适应宽度 设置
  11. 关于 Unity NavMesh 数据的访问
  12. win7 tomcat
  13. X windows的底层实现机制
  14. Qt学习之路MainWindow学习过程中的知识点
  15. SEO高手和SEO屌丝的八个区
  16. phoenix技术(安装部署和基本使用)讲解
  17. 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)
  18. Docker生态不会重蹈Hadoop的覆辙
  19. MultiDataTrigger
  20. 弄清java中的字节与字符

热门文章

  1. centos6.5安装python2.7、pip、numpy、scipy
  2. 《JavaWeb从入门到精通》(明日科技,清华大学出版社)
  3. Confluence 6 home 目录中的内容
  4. Confluence 6 MySQL 输入你的数据库细节
  5. SpringData使用与整合
  6. 初见TensorFlow :知其所以然
  7. jQuery 选择器demo练习
  8. 步步为营-76-用户登录(Session+Cookie)
  9. 添加依赖:https://mvnrepository.com/
  10. 51 NOd 2006 飞行员配对(匈牙利算法二分匹配)