一、实验内容
1.XP基础
2.XP核心实践
3.相关工具
二、实验步骤
(一)敏捷开发与XP
软件
工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。敏捷开发包括很多模式:
一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈、假设简单性、递增更改、提倡更改、优质工作。XP软件开发的基石是XP的活动,包括:编码、测试、倾听、设计。
XP是一种更加灵活的开发方式和理念,通过迅速的反应及时充分修改程序,保证所有团队成员对资源和责任的共享;适用于“小而精”的团队开发。同时,其所倡导的“倾听”也是实现了程序开发“需求至上”的终极目标。
(二)编码标准
编程标准使代码更容易阅读和理解,甚至可以保证其中的错误更少。编程标准包含:具有说明性的名字、清晰的表达式、直截了当的控制流、可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性。
关于程序的缩进,在IDEA中比较智能,它会帮你自动进行缩进,这样也使得程序的可读性大大增强。
Java中的一般命名规则:
要体现各自的含义
包、类、变量用名词
方法名用动宾
包名全部小写,如:io,awt
类名第一个字母要大写,如:HelloWorldApp
变量名第一个字母要小写,如:userName
方法名第一个字母要小写:setName
在团队操作中,格式规范是为提高效率扫清障碍的做法;命名规范则具有很强灵活性,根据各团队不同的情况和习惯进行,不仅是方便自己,更是方便团队其他成员。
(三)结对编程
结对编程中的两个重要角色:驾驶员(Driver)是控制键盘输入的人,领航员(Navigator)起到领航、提醒的作用。
驾驶员:写设计文档,进行编码和单元测试等XP开发流程。领航员:审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构;帮助驾驶员解决具体的技术问题。
驾驶员和领航员不断轮换角色,不要连续工作超过一小时,每工作一小时休息15分钟。领航员要控制时间。
(四)版本控制
版本控制提供项目级的 undo(撤销) 功能;
版本控制允许多人在同一代码上工作;
版本控制系统保存了过去所作的修改的历史记录;
(五)重构
重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。重构最主要的目标就是清楚“有臭味道”的代码,主要表现为重复代码。
在此介绍一下IDEA中如何进行重构:
git的使用:
上面的一张图片已经足以把新写好的代码上传到网上了,而且我所有的代码都在同一个项目里面再练通过packdge来区分是第几章和第几次试验的内容。
由于我们五个人中其他人还没创建账号我就随便拉了一个人当观察者,不过如果是开发者的话哪些也都是融会贯通的这样就可以把一个小组的拉进来了。
利用git上传可以在文件夹目录下使用git bash here来完成也可以在idea上完成这个操作。并且在一些情况下在idea下操作比在文件夹目录下操作要方便的多。
在idea里对项目发动git的操作,就可以push上去了。
如果我的同学想修改我的代码的话就需要我拉他为管理员然后他就可以修改了。
先把同学的项目的连接打到那个框里面然后搞到本地,修改完成后还是使用gitpush就可以在我这里完成对他的项目的修改了,前提是我是他的管理员。