实验名称:敏捷开发与XP实践
实验人员:20162309邢天岳(结对搭档20162313苑洪铭) 实验日期:2017.5.5 实验内容:1.在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。(此处注意要将Eclipse的内容替换成IDEA) 2.在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push。 3.完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。(这里同样要将Eclipse转换成IDEA) 4.以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。 实验目的:以结对的方式对项目的开发进行学习,对上次实验所完成的Complex代码进行测试,与结对搭档共同创建项目来学习教材上关于重构环节的学习,相互检查结对伙伴的代码,巩固学习。Java密码学的实验内容是运行博客上的密文代码,通过运行程序来学习代码的加密方法。实验具体步骤:
(一)敏捷开发与XP•敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。
敏捷开发包括很多模式。其中,极限编程(eXtreme Programming,XP) 是一种全新而快捷的软件开发方法。•一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈、假设简单性、递增更改、提倡更改、优质工作。
XP软件开发的基石是XP的活动,包括:编码、测试、倾听、设计。 项目成员用户成功执行XP活动的技术通过XP实践来呈现,包括编程、团队、过程相关的12条实践,我们关注其中的编码标准,结对编程,代码集体所有,测试,重构等实践。上次实验已经讲过TDD,通过学习这些实践,可以形成以测试为核心的开发流程。 敏捷可以作为一种做事的方式,掌握好的在以后的工作中也会受益无穷。在实验1的过程中,需要在idea上运行实验题目中所给的代码,这个过程相对比较简单,运行过程中有绿条出现就可以了。
实验2是对前一次实验程序的成果验收,Complex程序的产品代码进过检查后,没有逻辑错误出现,但测试代码却无法在idea上运行(不是运行错误,是无法运行),考虑到测试代码和产品代码是否存在出入,在咨询王彪同学后,发现在测试代码上,继承语句extend的对象发生错误,导致运行异常,修改后可正常运行
此处需要继承的是TestCase类中的方法。(二)重构
•重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。
•一个完整的重构流程包括:
1.从版本控制系统代码库中Check out code 2.读懂代码(包括测试代码) 3.发现bad smell 4.Refactoring 5.运行所有的Unit Tests 6.往代码库中Check in code重构的内容需要加入结对搭档的项目,在idea中使用refactor直接操作就可以了。修改参数、加入新的东西都可以实现。
(三)java密码学
这个过程需要运行博客中的代码,在idea或是bash命令行中均可以完成,但在导入第二个.dat文件时失败,在马军同学的帮助下,将运行的程序包括设计的类均用rm移动到一起,再次运行就可以了,密码学的学习对我而言相对陌生,参考了老师的博客后再学习效果会相对好一些。