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 ...
随机推荐
- 【BZOJ】3675: [Apio2014]序列分割
http://www.lydsy.com/JudgeOnline/problem.php?id=3675 题意:给一个n个数字的序列,每一次分割的贡献是$sum(left, mid)*sum(mid+ ...
- 【wikioi】1014 装箱问题
题目链接 算法:动态规划(01背包) 01背包思想:依次对待某一物体,考虑是否放入容量为V的背包中 用f[V]来表示容量为V的背包的最大价值,则决策是 f[V] = max{f[V], f[V-v[i ...
- html5 可以讓使用者輸入url網址 ,去play影片
<html> <head> <title>Simple Video Example</title> <script> function pl ...
- SolrCloud-如何在.NET程序中使用
https://github.com/vladen/SolrNet 原来我们在我们的项目里用的是根据数据库路由到不同的单机Solr服务器,但是这样的话,每次Solr配置的修改都要修改三台不通的服务器, ...
- 在Windows7下启动MongoDB服务的解决方案
1:首先去官网下载程序,我用的是1.4.3版本,地址: http://downloads.mongodb.org/win32/mongodb-win32-i386-1.4.3.zip 2:创建一个DB ...
- About-PHP-02
如果要给table里面的td添加颜色,有两种方法: <html> <head> <meta http-equiv="Content-Type" con ...
- 李洪强iOS经典面试题124
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现 ...
- 提示此windows副本不是正版的win7系统7601解决方法
windows不是正版的提示一旦出现,那就表示我们的windows需要激活.在激活之前,我们的桌面主题就会无法正常更改,哪怕换了 壁纸或者主题我们的电脑显示屏依然会经常黑屏.虽然并不会影响我们使用 ...
- paramter的添加
public string GetUserIdByName(string UserName, string pwd) { string sql = @"select Na ...
- 解决:Could not parse response code.Server Reply: SSH-2.0-OpenSSH_5.3
[摘要:办理:org.apache.commons.net.MalformedServerReplyException: Could not parse response code.Server Re ...