20145320《Java程序设计》第三次实验报告

时间:2022-10-07 14:24:17

20145320《Java程序设计》第三次实验报告

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

课程:Java程序设计

班级:1453

指导教师:娄嘉鹏

实验日期:2016.04.22 15:30-18:30

实验名称:敏捷开发与XP实践

实验内容:

    1. git的使用
    1. 项目的相互修改
    1. 学会使用重构

      使用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

就知道你们想看截图,闪亮亮的结果如下

20145320《Java程序设计》第三次实验报告

既然要搞合作,就要从别人那pullpush,大家看这个

20145320《Java程序设计》第三次实验报告
20145320《Java程序设计》第三次实验报告

我从20145319上pull下来,在push也是往20145319推
20145320《Java程序设计》第三次实验报告

大家看

20145320《Java程序设计》第三次实验报告

程序被我改啦哈哈哈

重构

我们先看看重构的概念:

重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。

重构中一个非常关键的前提就是“不改变软件外部行为”,它保证了我们在重构原有系统的同时,不会为原系统带来新的BUG,以确保重构的安全。如何保证不改变软件外部行为?重构后的代码要能通过单元测试。如何使其更加易于阅读、易于维护和易于变更 ?设计模式给出了重构的目标。

重构重要吗?你看看Netbeans菜单中有个重构菜单就知道了,重构几乎是现代IDE的标配了:
20145320《Java程序设计》第三次实验报告

我们在编码标准中说“给标识符命名”是程序员一项重要技能,以前没有这个意识,现在知道了怎么办?没问题,上图中重构的第一项功能就是Rename,可以给类、包、方法、变量改名字。
例如这有个hello类:

20145320《Java程序设计》第三次实验报告

重构完的效果如下:

20145320《Java程序设计》第三次实验报告

学过C语言的学生学Java时常犯的毛病是不会封装,该用类的地方都用了结构体。比如要定义一个类Student,会出现这样的代码:

20145320《Java程序设计》第三次实验报告

Netbeans中菜单中的 重构->封装字段 如下图:
20145320《Java程序设计》第三次实验报告

注意分析一下重构前后的代码变化:
20145320《Java程序设计》第三次实验报告

同样可以封装id和age两个成员变量

还是有问题的,每次打印学生信息都这么写代码违反了DRY原则,造成代码重复,可以这么干

由于Java中所有的类都有个专门的toString方法,我们使用给Student类产生一个toString方法,如下图:

20145320《Java程序设计》第三次实验报告

我们要修改软件,万变不离其宗,无非就是四种动机:

  • 增加新功能;
  • 原有功能有BUG;
  • 改善原有程序的结构;
  • 优化原有系统的性能 。

最后附上搭档的博客

http://www.cnblogs.com/20145319zk/p/5427907.html