20165235 实验三 敏捷开发与XP实践
20165235 实验三 敏捷开发与XP实践
主目录:
- 姓名:祁瑛
- 学号:20165235
- 班级:1652
- 实验课程:JAVA程序设计
- 实验名称:Java面向对象程序设计
- 实验时间:2018.4.30
- 指导老师:娄家鹏
敏捷开发与XP实践-1
任务1在IDEA中使用工具(Code->Reformate Code)
在IEDA的code菜单栏中有很多的工具,如下:
- surround with是自动将- if-else,- for等语句进行包装起来。快捷键:- Ctrl+Alt+T
- Insert Live Template是加入一些语句模板,快捷键:- Ctrl+j
 3.- Override Methods重写基类的方法 ,快捷键:- Ctrl+O
- Implement Methods实现基类或接口中的方法,快捷键:- Ctrl+I
- Override Methods… 重写基类的方法,快捷键:- Ctrl+O
- Unwrap/Remove去除相关的包装代码,快捷键:- Ctrl+Shift+Delete
 点击上菜单栏- code--->surround with对- if-else语句进行包装:
  
  
 点击上菜单栏- code->Insert Live Template进行添加语句:
  
代码的书写规范标准中很重要的一项是如何给包、类、变量、方法等标识符命名,能很好的命名可以让自己的代码立马上升一个档次。Java中的一般的命名规则有:
- 要体现各自的含义
- 包、类、变量用名词
- 方法名用动宾
- 包名全部小写,如:io,awt
- 类名第一个字母要大写,如:HelloWorldApp
- 变量名第一个字母要小写,如:userName
- 方法名第一个字母要小写:setName
任务2 :下载alibaba插件解决代码规范问题
- 对代码给定的代码并对代码进行编码规约扫描:
  
 对以上提出的没有使用{}将if-else包装的问题通过code->surround with进行操作,结果图如下:
  
[敏捷开发与XP实践-2]
任务一:在unbuntu上下载搭档码云中的Complex代码并加入测试用例,然后git到搭档到码云。
首先是clone搭档的码云代码:git clone [搭档码云链接],然后通过cd命令进入搭档代码目录改相应的文件,如本次实验的Complex.java和ComplexTest.java,然后git add Complex.java和git add ComplexTest.java。之后git -a -m“20165235 相应的内容”如下图:

可以通过git status来查看当前的状态,之后git push就可以了,输入自己码云用户名和密码。结果如图:

这个是我自己的命令行输入git log来查看自己的代码提交记录:

这是我搭档电脑中的git log记录

在搭档的码云中查看结果:

在IEDA中进行git
将写好的代码进行add,然后添加注释,点击左下方commit and push:

选择push:

出现push successful 说明git成功:

[敏捷开发与XP实践-3]
代码规范对学习编程很重要,剔除代码中不规范的命名,程序bug等一系列的代码问题:
如下是我在我搭档的码云中下载的代码:
import java.util.*;
class A {
    void panDuan(long n) {
        long m = n;
        int i = 0;
        int flag = 1;
        int count = 0;
        long[] a;
        a = new long[10];
        while (n != 0) {
            a[count] = n % 10;
            n /=  10;
            count++;//count计算的是n的位数
        }
        for ( i = 0; i < count / 2; i++) {
            if (a[i] != a[count - 1 - i]) {
                System.out.printf("a[%d]≠a[%d]\n",count-i-1,i);
                flag = 0;
                break;
            }
        }
        if (flag==1)
            System.out.println(m+"是回文数");
        else
            System.out.println(m+"不是回文数");
        }
}
public class HuiWen {
    public static void main(String[] args) {
        A a = new A();
        System.out.println("请输入一个数字:");
        Scanner reader = new Scanner(System.in);
        long n = reader.nextLong();
        if(n>=999999999)
            System.exit(0);
        else
        a.panDuan(n);
    }
}
通过编码规范扫描,发现三处错误:
- 类名不符合命名规则
 2.没有对if-else进行包装
 3.方法不符合命名规则
 并对其进行重构:
  
Refactor->Extrac->Field对文件名(类名)进行修改,重构之后的代码:


[敏捷开发与XP实践-4]
以结队的方式进行java密码编程
任务一
在本次任务中我们选择了Caesar密码我进行了产品代码编写和测试用例代码编写,搭档对本次代码进行了调试和重构。如下是产品代码进行重构之后的截图:



对本次代码重构了三项:
- 修复了输入为非a-z字符的bug(返回error)
- 类名不符合命名规则
- 没有对if-else进行封装
 这是对产品代码进行的Junit测试:
  
-代码链接
[实验中遇到的问题以及解决方法]
- 问题1:在IEDA中 - git clone搭档代码时缺少- git.exe文件
- 解决方式:首先进入官网下载---git.exe下载地址,然后打开 - setting搜索- git,在- path to git中设置- git.exe的路径,然后点击- ok。如图:
  
- 问题2 :在合作完成Caeser密码时,出现边界问题:password是1,输入密文 - abc时结果为- ” ab“,加密也同样。
- 解决方式:我参考了C语言编写的代码之后对加解密进行了改进:加密为: - 'a'+(c[i]-'a'+ password)%26解密为:- 'z'-('z'+password-c[i])%26。这就很好的解决了边界值问题。
[实验总结]
本此实验是要求我们掌握代码重构,规范的代码才能使我们对代码内容一目了然,alibaba这款插件通过编码规范扫描,清楚的了解到自己的代码问题。在结队编程中使用git来修改搭档代码中的bug等问题(在修改之后一定要保证代码是可以运行的)。最后是通过java来实现密码算法,这次我选择了简单的Caeser密码,因为对其他密码算法了解的不够深,以后还得好好学习其他密码算法。
| 步骤 | 耗时 | 百分比 | 
|---|---|---|
| 需求分析 | 20min | 8% | 
| 设计 | 60min | 25% | 
| 代码实现 | 120min | 50% | 
| 测试 | 10min | 4% | 
| 分析总结 | 30min | 13% | 
20165235 实验三 敏捷开发与XP实践的更多相关文章
- 20145213《Java程序设计》实验三敏捷开发与XP实践
		20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ... 
- 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
		20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ... 
- JAVA课程实验报告 实验三 敏捷开发与XP实践
		北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ... 
- 20145225《Java程序设计》 实验三 "敏捷开发与XP实践"
		20145225<Java程序设计> 实验三 "敏捷开发与XP实践" 实验报告 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 git 上 ... 
- 20145215实验三 敏捷开发与XP实践
		20145215实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软 ... 
- 20145325张梓靖 实验三 "敏捷开发与XP实践"
		20145325张梓靖 实验三 "敏捷开发与XP实践" 程序设计过程 实验内容 使用 git 上传代码 git上传中遇到的问题 使用 git 相互更改代码 实现代码的重构 git ... 
- 20162311 实验三 敏捷开发与XP实践 实验报告
		20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ... 
- 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
		2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ... 
- 20175314 实验三 敏捷开发与XP实践
		20175314 实验二 Java面向对象程序设计 一.实验内容 XP基础 XP核心实践 相关工具 二.实验步骤 (一)代码格式化 创建"175314.exp3"项目,在该项目下创 ... 
随机推荐
- VI编辑器、ipython、jupyter及进程知识总结
			一.VI编辑器 1.三种模式 一般模式(normal mode 默认) 插入模式(insert mode) 末行模式(last line mode) 2.模式切换 一般模式-------------- ... 
- 8)django-示例(url传递参数)
			url传递参数有两种,一个是通过普通分组方式,一个是通过带命名分组方式 1.传递方式 1)普通分组方式,传递参数顺序是严格的.如下例子 url(r'^detail-(\d+)-(\d+).html', ... 
- Python 队列
			import multiprocessing import time if __name__ == '__main__': # 创建消息队列 # 3: 表示消息队列最大个数 queue = multi ... 
- Linux平台 Oracle 18c RAC安装
			Linux平台 Oracle 18c RAC安装Part1:准备工作 2018-08-04 22:20 by AlfredZhao, 1065 阅读, 0 评论, 收藏, 编辑 一.实施前期准备工作 ... 
- linux命令tar压缩解压
			tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ... 
- C#一元二次方程
- 信息摘要算法之五:HMAC算法分析与实现
			MAC(Message Authentication Code,消息认证码算法)是含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加上了密钥.因此MAC算法也经常被称作HMAC算法. ... 
- Confluence 6 数据库表-内容(Content)
			这部分的内容描述了有关 Confluence 存储内容所使用的表格.内容是用户在 Confluence 存储和分享的信息. attachmentdata 附件文件的二进制数据.当 Confluence ... 
- IOS 命令行工具开发
			例子 我们需要查看手机APP里面的某个应用的架构 新建一个Single View App 的ios项目 ToolCL 然后在 main函数中加入以下代码 // // main.m // ToolCL ... 
- Feign服务消费者
			Feign的优点:面向接口,完全不用管实现,传入规定格式的数据就可以了 搭建消费者项目(FeignDemo) 1.创建pom.xml <project xmlns="http://ma ... 
