欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

20144303 第三次实验

程序员文章站 2024-02-15 13:13:28
...

北京电子科技学院(BESTI)实验报告

课程:Java程序设计

班级:1453

姓名:石宇森

指导教师:娄嘉鹏

实验日期:2016.04.22

实验名称:Java开发环境的熟悉(Linux + Eclipse)

实验内容:

XP基础

XP核心实践

相关工具

实验目的与要求:

没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程

完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导

严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

实验步骤:

敏捷开发与XP
两个公式:软件=程序+软件工程和软件企业=软件+商业模式

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

XP团队使用现场客户、特殊计划方法和持续测试来提供快速的反馈和全面的交流:

XP是以开发符合客户需要的软件为目标而产生的一种方法论
XP是一种以实践为基础的软件工程过程和思想
XP认为代码质量的重要程度超出人们一般所认为的程度
XP特别适合于小型的有责任心的、自觉自励的团队开发需求不确定或者迅速变化的软件
XP准则:沟通、简单、反馈、勇气

XP法则:快速反馈、假设简单性、递增更改、提倡更改、优质工作

XP活动:编码、测试、倾听、设计

XP实践:编码标准、结对编程、代码集体所有、测试、重构等实践

编码标准:
编写代码一个重要的认识是“程序大多时候是给人看的”,编程标准使代码更容易阅读和理解,甚至可以保证其中的错误更少。编程标准包含:具有说明性的名字、清晰的表达式、直截了当的控制流、可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性。

程序的缩进方法:我们单击Eclipse菜单中的source->Format 或用快捷键Ctrl+Shift+F就可以按Eclipse规定的规范缩进。

结对编程:
结对编程中有两个角色:

驾驶员(Driver)是控制键盘输入的人。写设计文档,进行编码和单元测试等XP开发流程。
领航员(Navigator)起到领航、提醒的作用。审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构;帮助驾驶员解决具体的技术问题。

一、git的使用:
要先下载同组成员的java文件,然后修改之后再上传。

我们先打开同组成员的项目,复制其网址:

20144303 第三次实验

在桌面右键,点git bash here ,输入git clone +项目组地址:

20144303 第三次实验

此时,桌面会出现项目组文件夹:

20144303 第三次实验

打开文件夹,把要修改的java文件修改之后,放入该项目组文件夹:

20144303 第三次实验

在该文件夹中右键,点击git bash here,开始将修改后的java文件传上去:

20144303 第三次实验

20144303 第三次实验

20144303 第三次实验

20144303 第三次实验

20144303 第三次实验

这时,aaa@qq.com中对应的项目组中也就多了一个文件,上传成功:
20144303 第三次实验

二、eclipse的重构过程:

源代码:
import java.util.Scanner;
public class MyUtil {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String write="";
char[] mid=new char[100];
int[] code=new int[100];
int time=0;
int i=0;
System.out.println("请输入明文");
write=scanner.nextLine();
time=write.length();
for( i=0;i<time;i++){
mid[i]=write.charAt(i);
code[i]=((int)mid[i]-'a'+3)%26+'a';
}
System.out.println("密文为:");
for( i=0;i<time;i++){
System.out.printf("%c",(char)code[i]);
}
}
}

重构后的代码:

 class Caesar{
public static char[] mid=new char[100];
public static int[] code=new int[100];
public static int time=0;
public static int i=0;
public static void EncryptWrite(String write){
time=write.length();
for( i=0;i<time;i++){
mid[i]=write.charAt(i);
code[i]=((int)mid[i]-'a'+3)%26+'a';
}
System.out.println("密文为:");
for( i=0;i<time;i++){
System.out.printf("%c",(char)code[i]);
}
}
}
public class MyUtil {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String write="";
System.out.println("请输入明文");
write=scanner.nextLine();
Caesar.EncryptWrite(write);
}
}
 

同组成员 张子扬:http://home.cnblogs.com/u/20145336yang/