20175314 实验二 Java面向对象程序设计
一、实验内容
- XP基础
- XP核心实践
- 相关工具
二、实验步骤
(一)代码格式化
创建“175314.exp3”项目,在该项目下创建CodeStandard.java
,并输入代码:
public class CodeStandard {
public static void main(String [] args){
StringBuffer buffer = new StringBuffer();
buffer.append('S');
buffer.append("tringBuffer");
System.out.println(buffer.charAt(1));
System.out.println(buffer.capacity());
System.out.println(buffer.indexOf("tring"));
System.out.println("buffer = " + buffer.toString());
if(buffer.capacity()<20)
buffer.append("1234567");
for(int i=0; i<buffer.length();i++)
System.out.println(buffer.charAt(i));
}
}
打开Settings
->Plugins
->Browse repositories
,在搜索框输入alibaba
即可看到Alibaba Java Code Guidelines
插件,点击Install
进行安装
安装后右键点击类名,再点击“编码规约扫描”
- 发现代码中不规范的地方后进行纠正:
打开Code
->Reformate Code
,格式化代码:
我认为最好用的工具是Reformate Code
,可以快速规范代码格式,方便观察及编写,还有就是Override Methods
,提供了Java.lang
包中的一些类的方法重写
(二)邀请搭档加入码云项目,对搭档的代码进行Junit测试
在我的码云中创建Teamwork
项目,邀请自己的搭档20175316盛茂淞成为“开发者”
引入搭档在实验二中的Complex代码,加入多个Junit测试用例并编译:
(三)重构的练习
(四)Java密码学算法的学习
三、遇到的问题
- 一开始找不到junit工具包,后来通过在网上查找到许多不同的方法,最终选择了下面这种方法并成功:
点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Project Structure界面左侧的“Libraries”,点击右边 “+”号,选择第一个选项“Java”,找到IDEA的根目录中的lib选择junit.jar,点“OK”,jar包添加成功,如图所示:
- 遵循实验二 Java面向对象程序设计中百分制转五分制的步骤测试正常情况异常情况和边界情况时,根据客观事实,对低于0分的情况转成“错误”,添加100分的情况到小于100分的情况里成为“成绩在90与100之间(包含100)转成‘优秀’”条件改为
else if (grade <= 100) return "优秀";
- 在用WhiteStarUML绘制UML类图时不知道怎么添加空心箭头的线。
四、UML类图
测试用例的扩充
四、感想与收获
经过本次实验内容很多多,相应的收获也多。
首先,较为熟练地掌握了Junit的用法。这是本周最大的一个收获,因为通过单元测试,能够降低程序出错概率、提高编程效率。通过实验二,我也更能理解“高内聚低耦合”,高内聚提供了更好的可维护性和可复用性,低耦合可以满足一般性的需求。
其次是本周大致学会了如何使用WhiteStarUML绘制UML图,不同于之前用Word的插入图形功能,这是一个比较方便但不容易上手的工具,画出来的UML图看上去有很强的专业性和逻辑性,这个软件还有其他实用的功能比如绘制用例图,期待以后能够熟练掌握这个软件的所有功能,但在本次实验中我最终选择使用WPS的流程图中绘制UML类图功能,这是目前我所知道的最方便的工具而且绘制图简洁明了、美观大方,所以我可能会在后续学习中继续选择这一方式。
五、码云链接
六、Personal Software Process时间
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20 | 9% |
设计 | 40 | 18% |
代码实现 | 100 | 45% |
测试 | 30 | 14% |
分析总结 | 30 | 14% |