结对编程
成员信息:
201521123093 赵铭
201521123103 吴雅娟
码云地址:https://gitee.com/pair_programming/daima
1、改进现有的代码
原博客地址:http://www.cnblogs.com/NianQiFeng
(原)源代码:https://coding.net/u/qwx_hh/p/java-szys/git
原题目要求:
- http://www.cnblogs.com/happyzm/p/6472120.html
- http://www.cnblogs.com/happyzm/p/6509116.html
- http://www.cnblogs.com/happyzm/p/6558307.html
2、需求分析
- 支持中文和英文语言切换
- 实现基本的加减乘除四则运算(包括括号)(整数与分数)
- 能够计时计算所需的时间
- 记录历史正确率和全部
2.1源码分析与修正
- 登录界面不完整,在语言选择方面没有明确的按钮或者其他的提示,直接点击字切换语言,导致用户会不了解
改进:使用按钮切换语言并增加了标题
3.程序设计
- 原来的代码覆盖率
- 修改后的代码覆盖率
-功能图
4.代码展示
- 界面修改:
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "请选择语言:", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", 1, 18))); // NOI18N
jLabel1.setText(" 欢迎来到四则运算系统!");
jLabel2.setText("所需习题数:");
jLabel3.setText("(1-10之内)");
Chinese_Button.setText("中文"); //选择中文
Chinese_Button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
Chinese_ButtonActionPerformed(evt);
}
});
Engllish_Button.setText("English"); //选择英文
Engllish_Button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
Engllish_ButtonActionPerformed(evt);
}
});
private void Chinese_ButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setText("欢迎来到四则运算系统!");
jLabel2.setText("所需习题数:");
jLabel3.setText("(1-10之内)");
Sure_Button.setText("确定");
Cancel_Button.setText("取消");
l=1;
}
private void Engllish_ButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setText("Welcome to the four computing system!");
jLabel2.setText("How many questions:");
jLabel3.setText("(between 1 and 10)");
Sure_Button.setText("Sure");
Cancel_Button.setText("Cancel");
l=2;
}
- 加括号:
public String int_operation() //整数计算
{
int result = 0;
if(a==0)
result=f+g;
if(a==1)
result=f-g;
if(a==2)
result=f*g;
astr = String.valueOf( result);
if(a==3)
{
if(g==0)
{
astr=int_operation();
return astr;
}
else
{
if(g!=0&&g!=1){
int d=common_divisor(f,g); //公约数计算函数
f=f/d;
g=g/d;
astr = (f+"/"+g);
}
if(g==1)
astr=(""+f);
}
}
if(a==4) //新加的
{
if(m==0){ //m==0时是减法
result=(f-g)*n;
}
if(m==1){
result=(f+g)*n; //m==1时是加法
}
}
return astr;
}
5.程序运行
-
界面
-
计算
6.码云截图和PSP
- 码云截图
- PSP表格
7.小结感受
- 修改别人的代码真的真的真的很难受,首先要先了解他们的代码规范,每个定义是什么含义,每个函数的作用是什么,如果定义模糊的话还要去猜意思真的挺累的;所以啊,在编程的时候定义一个变量尽量让人看得懂,不然既费眼又费脑
- 我和我的队友对这个代码简直就是一脸懵逼,对于编程基础听薄弱的人来说,更是挺吃力的,这几天看代码真的有时候都想放弃了,可是总觉得背后有好几双眼睛在盯着,硬着头皮只能上了
- 结对编程还OK的,至少可以互相商量不知道怎么下手的还可以一起琢磨,一个人也许就原地爆炸了,两个人可以一起分担编程的“乐趣”...
- 事实告诉我,编程基础真的很重要!!!
8.结对照片