博客班级 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11195 |
作业目标 | <熟练git的使用方法 提出issue> |
作业源代码 | https://gitee.com/liu-ziwen/personal |
学号 | <211806338> |
自己觉得需要改进的地方
上节课老师讲了许多提高软件质量的内容,我觉得对于我们现在编程或者是完成作业都是很有帮助的,以下是我根据课上内容的思考以及觉得代码还可以改进的地方。
1.根据api通过查找返回值类型来修改代码
2.不给参数,给错误参数,给一个不是java的文件去摧毁一下
3.如果方法的参数个数太多如何解决
问题及解决方法
1.遇到问题:Eclipse Push出现rejected - non-fast-forward错误
- 解决方法参考:https://blog.csdn.net/chenshun123/article/details/46756087
这个问题真的一开始没发现,开始提示rejected - non-fast-forward的时候都不知道发生了错误,后来push了好几次,再到仓库里去看commit的次数没有改变,我修改的代码也没有同步到远程仓库中,才觉得有问题,搜索了资料解决了,原来是我之前又在远程仓库里后加了LICENSE那个文件,和我本地的仓库就不同步了才导致的问题。
2.如何在已建好的仓库中添加issue模板
- 解决方法参考:https://gitee.com/help/articles/4145#article-header0
- 添加issue模板截图
“让我看看你的代码”
- 问题:相同的内容重复定义了,可以简化为一个
- 图片:
- 问题:注释也比较少,代码很多看起来不是那么简明,所以能有个api来帮助查看更好
- 图片:
- 问题:代码重复
- 图片:
- 问题:链式编程
- 图片:
- 问题:重复定义
- 图片:
“容我再改一改!”
-
问题:方法的参数太多
-
解决:
将基础值和从total.properties中的数据都分别放入Map集合中,解决了之前计算经验值的Interception()方法要传入7个参数的问题,这样只需要传入一个存有所有数据的Map集合即可,还将最后计算总得分的功能从原来的方法中分离出来,单独作为一个方法
-
问题:
-
解决:
在上课的时候老师讲了要模块化设计,也就是分解的时候要按功能划分,和隔离变化(即封装变化点,将稳定和易变的部分分开)。所以我觉得解析网页和提取经验值这两个功能还是放在两个方法里面比较好。
-
问题:应该添加API或者注释
-
解决:
小结
我觉得这种同学之间相互修改代码的方式非常能促进学习和交流,在仔细查看别人的代码的时候其实也是自我的一种提升,能够学习到别人的方法,以及思路,还可以根据别人对你的代码的建议进行修改,从而再次完善自己的代码,收获颇多。