20145320《Java程序设计》第三次实验报告
20145320《Java程序设计》第三次实验报告
北京电子科技学院(BESTI)实验报告
课程:Java程序设计
班级:1453
指导教师:娄嘉鹏
实验日期:2016.04.22 15:30-18:30
实验名称:敏捷开发与XP实践
实验内容:
- git的使用
- 项目的相互修改
学会使用重构
使用Git
虽然不知道是哪个人搞出这个git,就感觉自己用了这个,逼格都上升一大波。
使用Git托管代码流程
.ssh -T git@git.oschina.net->git config --global core.autocrlf false(敲过一次就不用敲第二次)
->git init->git add .->git commit -m" "->git push origin master
就知道你们想看截图,闪亮亮的结果如下
既然要搞合作,就要从别人那pull
和push
,大家看这个
我从20145319上pull
下来,在push
也是往20145319推
大家看
程序被我改啦哈哈哈
重构
我们先看看重构的概念:
重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。
重构中一个非常关键的前提就是“不改变软件外部行为”,它保证了我们在重构原有系统的同时,不会为原系统带来新的BUG,以确保重构的安全。如何保证不改变软件外部行为?重构后的代码要能通过单元测试。如何使其更加易于阅读、易于维护和易于变更 ?设计模式给出了重构的目标。
重构重要吗?你看看Netbeans菜单中有个重构菜单就知道了,重构几乎是现代IDE的标配了:
我们在编码标准中说“给标识符命名”是程序员一项重要技能,以前没有这个意识,现在知道了怎么办?没问题,上图中重构的第一项功能就是Rename,可以给类、包、方法、变量改名字。
例如这有个hello
类:
重构完的效果如下:
学过C语言的学生学Java时常犯的毛病是不会封装,该用类的地方都用了结构体。比如要定义一个类Student,会出现这样的代码:
Netbeans中菜单中的 重构->封装字段
如下图:
注意分析一下重构前后的代码变化:
同样可以封装id和age两个成员变量
还是有问题的,每次打印学生信息都这么写代码违反了DRY原则,造成代码重复,可以这么干
由于Java中所有的类都有个专门的toString方法,我们使用给Student类产生一个toString方法,如下图:
我们要修改软件,万变不离其宗,无非就是四种动机:
- 增加新功能;
- 原有功能有BUG;
- 改善原有程序的结构;
- 优化原有系统的性能 。
最后附上搭档的博客
http://www.cnblogs.com/20145319zk/p/5427907.html
20145320《Java程序设计》第三次实验报告的更多相关文章
- 20145320《Java程序设计》第二次实验报告
20145320<Java程序设计>第二次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.12 15: ...
- 20145330《Java程序设计》第二次实验报告
20145330<Java程序设计>第二次实验报告 实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承多态 3.初步掌握UM ...
- 《Java程序设计》第二次实验报告
20145220 <Java程序设计>第二次实验报告 课程:Java程序设计 指导教师:娄嘉鹏 实验日期:2016.04.12 实验名称:Java面向对象程序设计 实验内容 初步掌握单元测 ...
- 20145333 《Java程序设计》第二次实验报告
2014333 <Java程序设计>第二次实验报告 课程:Java程序设计 指导教师:娄嘉鹏 实验日期:2016.04.12 实验名称:Java面向对象程序设计 实验内容 初步掌握单元测试 ...
- 20145240 《Java程序设计》第二次实验报告
20145240 <Java程序设计>第二次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.12 实验 ...
- Java程序设计第四次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:java程序设计 班级:1352 姓名:何伟钦 学号:20135223 成绩: 指导教师:娄嘉鹏 ...
- 20145216史婧瑶《Java程序设计》第二次实验报告
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145231《Java程序设计》第二次实验报告
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD: 理解并掌握面向对象三要素: 初步掌握UML建模: 熟悉S.O.L.I.D原则: 了解设计模式: 实验要求 实现并体会例子中代码的 ...
- 201521123008<java程序设计>第三周实验总结
1.本周学习总结 2.书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; pub ...
随机推荐
- ssh免密登录
背景:搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录. 在linux系统中,ssh是远程登 ...
- UESTC 30 最短路,floyd,水
最短路 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Statu ...
- C#_生成HTML
#region 生成静态页 /// <summary> /// 生成静态页 /// </summary> /// <param name="URL"& ...
- jquery js javascript select 无限级 插件 优化foxidea版
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [LintCode] Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. Have you met ...
- Python之路(二)
(1)python的内置函数(BIF) python3中内置了70多个BIF,常用的几个有: list():创建一个新的空列表. range():输入次数参数,返回一个迭代固定次数的迭代器. enum ...
- PHP filesystem attack vectors - Take Two
http://www.ush.it/2009/07/26/php-filesystem-attack-vectors-take-two/ Did you enjoyed our previous &q ...
- javascript平时小例子⑥(简易计算器的制作)
<!doctype html><html><head><meta charset="utf-8"><title>无标题文 ...
- bzoj1857: [Scoi2010]传送带--三分套三分
三分套三分模板 貌似只要是单峰函数就可以用三分求解 #include<stdio.h> #include<string.h> #include<algorithm> ...
- java中的动态代理
1.动态代理的定义:为其他对象提供一个代理以控制对这个对象的访问 2.通过api看下proxy生成代理类的2中写法: 创建某一接口 Foo 的代理: InvocationHandler handler ...