第二次个人编程作业:代码互改
博客班级 | https://edu.cnblogs.com/campus/fzzcxy/2018SE2 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/fzzcxy/2018SE2/homework/11199 |
作业目标 | <通过 Issue 提出问题,修改代码> |
作业源代码 | https://gitee.com/its_fucking_great/personal |
学号 | <211806335> |
码云仓库要求
- 我的 Issues 模板
- 我的Commit 信息
“让我看看你的代码!”
- 陈志扬的码云仓库地址
我给他的建议
最后他也是即时回复我并将多余内容删去 - 牛世岩的码云仓库地址
我给他的建议:
给他的修改:
else if (SAll.get(i).toString().contains("课堂完成")&&SAll.get(i).toString().contains("已参与 "))
{
SBase = count(SBase, SAll, i);
}
else if (SAll.get(i).toString().contains("课堂小测")&&SAll.get(i).toString().contains("已参与 "))
{
STest = count(STest, SAll, i);
}
private static double count(double ex, Elements SAll, int i) {
Elements SSpan=SAll.get(i).getElementsByTag("span");
for (int j=0;j<SSpan.size();j++)
{
if (SSpan.get(j).text().contains("经验"))
{
Scanner sc=new Scanner(SSpan.get(j).text());
ex=ex+sc.nextDouble();
break;
}
}
return ex;
}
- 黄志辉的码云仓库地址
我给他的建议:
首先他已经将获取经验的方法封装起来,而且每个判断下面的内容高度一致
解析下来就是
- 先创建一个文本字符串,获取Elements某个孩子的某个字段
- 把这个字段提取出相应的数字(isNum方法) 并与对应经验相加
所以可以直接把isNum(String str)改成isNum(Elements e)
- 谷清尧的码云仓库地址
我给他的建议:
“容我再改一改!”
这里王伟晗给我提了个很好的建议
因为我原本思路是找到经验值对应的span 然后提取数字
但是这种做法可能会忽略了有互评这第二个span的情况
所以在得知问题后想到一个解决方案
我将所有可能会有经验值的span 保存在一个元素集合
Elements exs = titleItem.select("span[style='color:#8FC31F;']");
用增强for循环遍历
for (Element ex : exs) //里面是原先提取数值的方法
这样从原本一个span里的经验,变成多个span里的经验相加,从而实现计算互评
还有一些同学对我规范上做出建议,我也在慢慢改正,增加注释
小结
这次作业让我在帮助同学修改代码中,发现一些其他同学的奇思妙想,也发现了自己的一些不足,同学的建议都挺好的。
我认识到如果仅仅局限于自己的代码,就很难得到成长。
我也渐渐的提高了自己阅读他人代码的能力,对开发更加熟悉,这样感觉对今后项目开发时团队合作很有帮助。