姓名 | 陈敬勇 |
---|---|
班级 | 1752 |
学号 | 20175218 |
实验序号 | 实验三 |
实验名称 | 敏捷开发与XP实践 |
实验内容html
实验要求java
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)); } }
一、安装 Alibaba Java Code Guidelines 插件git
二、规范代码算法
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菜单网络
提交搭档项目git log的截图,包含上面git commit的信息,并加上本身的学号水印信息。app
搭档代码以下框架
public class Complex { double RealPart=0; double ImagePart=0; public Complex(){} public Complex(double RealPart,double ImagePart){ this.RealPart=RealPart; this.ImagePart=ImagePart; } public double getRealPart(){ return RealPart; } public double getImagePart(){ return ImagePart; } public String toString(){ String s = ""; double r=RealPart; double i=ImagePart; if(r==0&&i==0){ s="0"; } else if(r==0&&i!=0){ s=i+"i"; } else if(r!=0&&i==0){ s=r+""; } else if(r!=0&&i<0){ s=r+""+i+"i"; } else { s=r+"+"+i+"i"; } return s; } public boolean equals(Object obj){ if(this==obj){ return true; } else return false; } public Complex ComplexAdd(Complex a){ return new Complex(RealPart+a.getRealPart(),ImagePart+a.getImagePart()); } public Complex ComplexSub(Complex a){ return new Complex(RealPart-a.getRealPart(),ImagePart-a.getImagePart()); } public Complex ComplexMulti(Complex a){ double r=RealPart*a.getRealPart()-ImagePart*a.getImagePart(); double i =ImagePart*a.getRealPart()+RealPart*a.getImagePart(); return new Complex(r,i); } public Complex ComplexDiv(Complex a){ double r=(RealPart * a.ImagePart + ImagePart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart); double i=(ImagePart * a.ImagePart + RealPart * a.RealPart) / (a.RealPart * a.RealPart + a.RealPart * a.RealPart); return new Complex(r,i); } }
二、对搭档的complex代码进行测试编辑器
public class Complex { double RealPart=0; double ImagePart=0; public Complex(){} public Complex(double RealPart,double ImagePart){ this.RealPart=RealPart; this.ImagePart=ImagePart; } public double getRealPart(){ return RealPart; } public double getImagePart(){ return ImagePart; } public String toString(){ String s = ""; double r=RealPart; double i=ImagePart; if(r==0&&i==0){ s="0"; } else if(r==0&&i!=0){ s=i+"i"; } else if(r!=0&&i==0){ s=r+""; } else if(r!=0&&i<0){ s=r+""+i+"i"; } else { s=r+"+"+i+"i"; } return s; } public boolean equals(Object obj){ if(this==obj){ return true; } else return false; } public Complex ComplexAdd(Complex a){ return new Complex(RealPart+a.getRealPart(),ImagePart+a.getImagePart()); } public Complex ComplexSub(Complex a){ return new Complex(RealPart-a.getRealPart(),ImagePart-a.getImagePart()); } public Complex ComplexMulti(Complex a){ double r=RealPart*a.getRealPart()-ImagePart*a.getImagePart(); double i =ImagePart*a.getRealPart()+RealPart*a.getImagePart(); return new Complex(r,i); } public Complex ComplexDiv(Complex a){ double r=(RealPart * a.ImagePart + ImagePart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart); double i=(ImagePart * a.ImagePart + RealPart * a.RealPart) / (a.RealPart * a.RealPart + a.RealPart * a.RealPart); return new Complex(r,i); } }
三、上传代码ide
完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上本身的学号水印。提交搭档的码云项目连接。
重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变动。
二、重构的动机
三、重构的价值
四、下载搭档代码并进行重构
public class Complex { double RealPart=0; double ImagePart=0; public Complex(){} public Complex(double RealPart,double ImagePart){ this.RealPart=RealPart; this.ImagePart=ImagePart; } public double getRealPart(){ return RealPart; } public double getImagePart(){ return ImagePart; } public String toString(){ String s = ""; double r=RealPart; double i=ImagePart; if(r==0&&i==0){ s="0"; } else if(r==0&&i!=0){ s=i+"i"; } else if(r!=0&&i==0){ s=r+""; } else if(r!=0&&i<0){ s=r+""+i+"i"; } else { s=r+"+"+i+"i"; } return s; } public boolean equals(Object obj){ if(this==obj){ return true; } else return false; } public Complex ComplexAdd(Complex a){ return new Complex(RealPart+a.getRealPart(),ImagePart+a.getImagePart()); } public Complex ComplexSub(Complex a){ return new Complex(RealPart-a.getRealPart(),ImagePart-a.getImagePart()); } public Complex ComplexMulti(Complex a){ double r=RealPart*a.getRealPart()-ImagePart*a.getImagePart(); double i =ImagePart*a.getRealPart()+RealPart*a.getImagePart(); return new Complex(r,i); } public Complex ComplexDiv(Complex a){ double r=(RealPart * a.ImagePart + ImagePart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart); double i=(ImagePart * a.ImagePart + RealPart * a.RealPart) / (a.RealPart * a.RealPart + a.RealPart * a.RealPart); return new Complex(r,i); } }
/** * @author cjy * @date 2019/5/1 */ public class Complex { private double RealPart=0; private double ImagePart=0; public Complex(){} public Complex(double RealPart,double ImagePart){ this.RealPart=RealPart; this.ImagePart=ImagePart; } public double getRealPart(){ return RealPart; } public double getImagePart(){ return ImagePart; } @Override public String toString(){ String s = ""; double r=RealPart; double i=ImagePart; if(r==0&&i==0){ s="0"; } else if(r==0&&i!=0){ s=i+"i"; } else if(r!=0&&i==0){ s=r+""; } else if(r!=0&&i<0){ s=r+""+i+"i"; } else { s=r+"+"+i+"i"; } return s; } public boolean equals(Object obj){ if(this==obj){ return true; } else return false; } public Complex ComplexAdd(Complex a){ return new Complex(RealPart+a.getRealPart(),ImagePart+a.getImagePart()); } public Complex ComplexSub(Complex a){ return new Complex(RealPart-a.getRealPart(),ImagePart-a.getImagePart()); } public Complex ComplexMulti(Complex a){ double r=RealPart*a.getRealPart()-ImagePart*a.getImagePart(); double i =ImagePart*a.getRealPart()+RealPart*a.getImagePart(); return new Complex(r,i); } public Complex ComplexDiv(Complex a){ double r=(RealPart * a.ImagePart + ImagePart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart); double i=(ImagePart * a.ImagePart + RealPart * a.RealPart) / (a.RealPart * a.RealPart + a.RealPart * a.RealPart); return new Complex(r,i); } }
JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。
实验代码
public class Caesar { 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') //移动key%26位 { c+=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); } }
实验截图
码云连接:点击进入连接
经过这一次的实验,我对Java的学习更加深刻了。特别是对一个程序的理解。之前觉得只要把程序弄出来,可以实现想要的做用就能够了。可是,作了实验三以后,我知道了,一个程序作出来不是这么简单的,须要咱们考虑到不少方面。就像此次实验,咱们写完程序,还要学会规范程序。而后,另外一方面就是,还经过学习Java,联系到了其余学科,这样即兼顾了两门学科的学习,还知道了两门学科的联系,能把两科都学得更好。