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;
- 改善原有程序的结构;
- 优化原有系统的性能 。
最后附上搭档的博客