实验三 敏捷开发与XP实践 实验报告

(一)敏捷开发与XP

1、敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

2、极限编程XP(exetreme programming) 是一种全新而快捷的软件开发方法。

3、XP强调客户需求、代码质量、实践和团队,更适用于不确定或者迅速变化的软件。

(二)编码标准

1、遵循编码标准写出的代码可读性高,可视化更强

2、利用Eclipse菜单中的source->Format 和快捷键Ctrl+Shift+F对无序程序按Eclipse规定的规范缩进

3、Java中常用的命名规则

·要体现各自的含义
·包、类、变量用名词
·方法名用动宾
·包名全部小写,如:io,awt
·类名第一个字母要大写,如:HelloWorldApp
·变量名第一个字母要小写,如:userName
·方法名第一个字母要小写:setName
·...

4、标识符名字应当直观且可以拼读

(三)结对编程

结对编程的两个角色:

·驾驶员:写设计文档、编码、和单元测试工作
·领航员:审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构;帮助驾驶员解决具体的技术问题。
其实我感觉驾驶员像是公司的程序员,领航员像是项目经理,但是在结对编程里没有这么强烈分化,而且是两个人轮流来扮演角色

(四)版本控制

这一部分我主要是在实验楼激活了Git代码库。专用名20159212yx,在虚拟机的Code文件夹能看到shiyanlou_cs212文件夹,在xface终端也能操作,但是在做这一部分的时候死机了,所以没有截图。

(五)重构

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

1、rename

2、Encapsulate Field...

3、Extract Method...

4、toString
更好地完成封装和重构,从某一方面来说,减轻了编程负担

(六)实践项目
 1、实验组队分工:

  A:蔡斌思Driver:负责代码找寻与编写部分http://www.cnblogs.com/20159217cbs/

  B:杨翔Navigator:负责代码修改与运行测试部分

2、项目介绍
选择完成猜数字游戏的实现。用户输入0~100的数字,若与系统随机产生的数字相同,显示猜对了,否则,显示数据是偏大还是偏小。
理想与现实差距巨大,再补

(七)总结

关于实验三,更多地是学习软件开发和架构以及编程过程应该注意的东西,看了邹欣老师的现代软件工程讲义,在用户需求还有团队、分析设计方面感触较多。特别是在用户需求这块,程序员并不能完全站在用户角度,而且用户水平不一致,缓存等的作用也比较多,要做出一个评价高的软件不容易。在本次实践的结对编程过程中基本上没发挥什么作用,基本上是主治医生模式里面打酱油的角色,然后自己可以把这个简单的猜数字游戏再好好做一下。报告再补

posted @ 2015-10-18 20:19  杨小芽  阅读(202)  评论(0编辑  收藏  举报