20175333曹雅坤 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

20175333曹雅坤 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

敏捷开发与XP实践-1

实验目的与要求:

  • 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');
buf![](https://img2018.cnblogs.com/blog/1272669/201905/1272669-20190502160118003-975536005.png)

fer.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));
}
}

实验步骤

Settings ->Plugins -> Browse repositories...——安装alibaba。

检查代码

格式化之后

  • 好用功能
    实现接口方法(Implements Methods):Ctrl + I
    Gengrate:Alt + Insert
    Surround With:Ctrl+Alt+T
    智能选择并实现(SmartType):Ctrl + Shift + 空格
    方法展开 ( Expand) Ctrl + 加号
    方法折叠 (Collapse)Ctrl + 减号
    展开Java doc注释 ( Expand doc comments )
    折叠Java doc注释 ( Collapse doc comments )
    行注释 (Comment with Line Comment )Ctrl + /
    块注释 ( Comment with Block Comment ) Ctrl + Shift + /
    格式化代码 (Reformat Code ) Ctrl + Alt + L
    重新整理代码 (Rearrange Code)

    敏捷开发与XP实践-2

  • 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
  • 提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

    实验步骤

  • 加入仓库
  • 效果
  • 单元测试
  • git log
  • 代码
import java.text.DecimalFormat;
public class Complex {
    double RealPart;
    double ImagePart;
    public Complex(){

    }
    public Complex(double R,double I){
        RealPart = R;
        ImagePart = I;
    }
    public void setter(double R,double I){
        RealPart = R;
        ImagePart = I;
    }
    public double getterRealPart(){
        return RealPart;
    }
    public double getterImagePart(){
        return ImagePart;
    }
    @Override
    public boolean equals(Object obj){
        if(this==obj){
            return true;
        }
        else
        {
            return false;
        }
    }
    @Override
    public String toString(){
        String s = "";
        if(getterRealPart()==0&&getterImagePart()==0){
            s="0";
        }
        else if(getterRealPart()!=0&&getterImagePart()==0){
            s=s+getterRealPart();
        }
        else if (getterRealPart()==0&&getterImagePart()!=0){
            s=s+getterImagePart()+"i";
        }
        else
        {
            if(getterImagePart()<0){
                s = s+getterRealPart()+getterImagePart()+"i";
            }
            else {
                s = s+getterRealPart()+"+"+getterImagePart()+"i";
            }

        }
        return s;
    }
    public Complex ComplexAdd(Complex a){
        return new Complex((getterRealPart()+a.getterRealPart()),(getterImagePart()+a.getterImagePart()));
    }
    public Complex ComplexSub(Complex a){
        return new Complex((getterRealPart()-a.getterRealPart()),(getterImagePart()-a.getterImagePart()));
    }
    public Complex ComplexMulti(Complex a){
        double imaginePart = getterRealPart()*a.getterImagePart()+getterImagePart()*a.getterRealPart();
        double realPart = getterRealPart()*a.getterRealPart()-getterImagePart()*a.getterImagePart();
        return new Complex(realPart,imaginePart);
    }
    public Complex ComplexDiv(Complex a) throws Exception {
        double imaginePart = -getterRealPart()*a.getterImagePart()+getterImagePart()*a.getterRealPart();
        double realPart = getterRealPart()*a.getterRealPart()+getterImagePart()*a.getterImagePart();
        double div = a.getterRealPart()*a.getterRealPart()+a.getterImagePart()*a.getterImagePart();
        if(div==0){
            throw new Exception();
        }
        realPart = realPart/div;
        imaginePart = imaginePart/div;
        DecimalFormat decimalFormat = new DecimalFormat("0.0");
        return new Complex(Double.valueOf(decimalFormat.format(realPart)),Double.valueOf(decimalFormat.format(imaginePart)));
    }
}

敏捷开发与XP实践-3

  • http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
  • 完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。

    实验内容及结果截图:

  • 添加创建者信息
  • 给覆写方法加上@Override注解
  • 方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase,遵从驼峰形式
  • 规范后代码
/**
 * @author caoyakun
 * @date 2019/5/3
 */
import java.text.DecimalFormat;

public class Complex {
    double RealPart;
    double ImagePart;

    public Complex() {

    }

    public Complex(double R, double I) {
        RealPart = R;
        ImagePart = I;
    }

    public void setter(double R, double I) {
        RealPart = R;
        ImagePart = I;
    }

    public double getterRealPart() {
        return RealPart;
    }

    public double getterImagePart() {
        return ImagePart;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else {
            return false;
        }
    }

    @Override
    public String toString() {
        String s = "";
        if (getterRealPart() == 0 && getterImagePart() == 0) {
            s = "0";
        } else if (getterRealPart() != 0 && getterImagePart() == 0) {
            s = s + getterRealPart();
        } else if (getterRealPart() == 0 && getterImagePart() != 0) {
            s = s + getterImagePart() + "i";
        } else {
            if (getterImagePart() < 0) {
                s = s + getterRealPart() + getterImagePart() + "i";
            } else {
                s = s + getterRealPart() + "+" + getterImagePart() + "i";
            }

        }
        return s;
    }

    public Complex ComplexAdd(Complex a) {
        return new Complex((getterRealPart() + a.getterRealPart()), (getterImagePart() + a.getterImagePart()));
    }

    public Complex ComplexSub(Complex a) {
        return new Complex((getterRealPart() - a.getterRealPart()), (getterImagePart() - a.getterImagePart()));
    }

    public Complex ComplexMulti(Complex a) {
        double imaginePart = getterRealPart() * a.getterImagePart() + getterImagePart() * a.getterRealPart();
        double realPart = getterRealPart() * a.getterRealPart() - getterImagePart() * a.getterImagePart();
        return new Complex(realPart, imaginePart);
    }

    public Complex ComplexDiv(Complex a) throws Exception {
        double imaginePart = -getterRealPart() * a.getterImagePart() + getterImagePart() * a.getterRealPart();
        double realPart = getterRealPart() * a.getterRealPart() + getterImagePart() * a.getterImagePart();
        double div = a.getterRealPart() * a.getterRealPart() + a.getterImagePart() * a.getterImagePart();
        if (div == 0) {
            throw new Exception();
        }
        realPart = realPart / div;
        imaginePart = imaginePart / div;
        DecimalFormat decimalFormat = new DecimalFormat("0.0");
        return new Complex(Double.valueOf(decimalFormat.format(realPart)), Double.valueOf(decimalFormat.format(imaginePart)));
    }
}

码云链接

搭档
自己

原文地址:https://www.cnblogs.com/Hf-Hf/p/10804947.html

时间: 2024-10-17 21:20:55

20175333曹雅坤 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告的相关文章

20175333曹雅坤实验五 网络编程与安全

20175333曹雅坤实验五 网络编程与安全 实验内容及步骤 一.网络编程与安全-1 1.实验要求 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 上传测试代码运行结果截图和码云链接 2.实验方法 由中缀式求得后缀式可以使用栈,伪代码如下: 设立一个栈,存放运算符,首先栈为空:

# 2019-2020-2 网络对抗技术 20175333 曹雅坤 Exp2 后门原理与实践

2019-2020-2 网络对抗技术 20175333 曹雅坤 Exp2 后门原理与实践 1.实验内容 (3.5分) 1.使用netcat获取主机操作Shell,cron启动 (0.5分) 2.使用socat获取主机操作Shell, 任务计划启动 (0.5分) 3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分) 4.使用MSF meterpreter(或其他软件)生成获取目标主机音频.摄像头.击键记录等内容,

20175333曹雅坤第十周学习总结 ###教材学习内容总结

20175333曹雅坤第十周学习总结 教材学习内容总结 第十二章 Java多线程机制 进程与线程 线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生.存在和消亡的过程. Java中的线程 Java语言的一大特性点就是内置对多线程的支持. Java虚拟机快速地把控制从一个线程切换到另一个线程.这些线程将被轮流执行,使得每个线程都有机会使用CPU资源. 线程在它的一个完整的生命周期中通常要经历如下的四种状态: 新建 运行 中断

# 2019-2020-1 20175333曹雅坤 《信息安全系统设计基础》第二周学习总结

2019-2020-1 20175333曹雅坤 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 进制转换 常用进制:十进制,二进制,八进制和六进制 逢几进一,几进制 真值等于位上数字乘以权值 进制转换 使用短除法,得到的数字倒序排列即为所求 十进制转换为其他进制,转换为几进制除几,倒序排列 (小数位用乘替换除) 位的概念 位级运算 逻辑运算 移位运算(算术右移[有符号数]和逻辑右移[无符号数]) 信息就是位+上下文 有符号数 无符号数 计算机中大多使用补码来表示有或无符号数,相同的二

# 20175333曹雅坤《Java程序设计》第五周学习总结

教材学习内容总结 第六章要点: 1.接口:1)接口声明: interface //接口的名字 2)接口体 2.实现接口:类实现接口:一个类需要在类声明中使用关键字implements声明该类实现一个或多个接口.如果实现多个接口,用逗号隔开接口名,例如:class A implements Printable,Addable 3.接口的UML图:三层:1.顶部第一层是名字层,接口的名字必须是斜体字形,而且需要用<>修饰名字,并且该修饰和名字分列在两行.2.第二层是常量层,列出接口中的常量及类型,

2017-2018-2 20165228 实验三《敏捷开发与XP实践》实验报告

2017-2018-2 20165228 实验三<敏捷开发与XP实践>实验报告 相关知识点 (一)敏捷开发与XP 通过 XP准则来表达: 沟通 :XP认为项目成员之间的沟通是项目成功的关键,并把沟通看作项目中间协调与合作的主要推动因素. 简单 :XP假定未来不能可靠地预测,在现在考虑它从经济上是不明智的,所以不应该过多考虑未来的问题而是应该集中力量解决燃眉之急. 反馈 :XP认为系统本身及其代码是报告系统开发进度和状态的可靠依据.系统开发状态的反馈可以作为一种确定系统开发进度和决定系统下一步开

20145301 实验三 &quot;敏捷开发与XP实践&quot;

20145301 实验三 "敏捷开发与XP实践" 程序设计过程 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重构 git 上传代码 查看文件是否有修改的 将新建的文件传入本地 git push 文件,成功上传文件 再 git push 一次 所有东西已经上传过了 git 相互更改代码 新建存储空间 确定合作开发者地址 下载合作开发者的代码工程 修改代码 上传代码 结果: 实现代码的重构 源代码(以实验一代码为例)   重构后代码如下:   重构: 小组成员链

20145326蔡馨熠 实验三 &quot;敏捷开发与XP实践&quot;

20145326蔡馨熠 实验三 "敏捷开发与XP实践" 程序设计过程 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 一.git上传代码 首先我通过git上传一个名为“shiyansan”的代码. 设置权限: 然后我的partner从网上把这个文档下载到他的电脑中. 然后再修改,再上传: 我的partner:-  [20145211黄志远开源托管代码](https://git.oschina.net/nostalgia_) 二.敏捷开发与XP 软件工程是把

实验三— —敏捷开发与XP实践

---恢复内容开始--- java的第二个实验——JAVA面向对象程序设计 北京电子科技学院 实     验    报     告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:20135213 成绩:        指导教师:娄嘉鹏  实验日期:2015.6.4 实验密级: 预习程度:  实验时间:19:30~21:50 仪器组次:13 必修/选修:选修 实验序号:3 实验名称:敏捷开发与XP实践 实验目的与要求: 要求: 1.没有Linux基础的同学建议先学习<Linux基础入