BUAAOO求导作业总结

 

1.关于自己的设计思路以及不断的重构过程

  对于第一次作业,因为个人没有关于java的几乎任何的基础。在经过了一连串的思想斗争以及对于题目以及个人能力的理解以后,用些许的面向对象的思想写出了一个完全面向过程的程序。

  首先是第一次作业的输入,因为输入是有并且是只有一行来进行处理,于是就将这个理解成为了字符串处理的相关的问题,直接对于输入的字符串进行分割并且进行了处理。首先是对于空白字符的处理,第一次的作业的空白字符的处理的部分较为容易理解,只是需要判断是否在有符号的整数内部有空白字符,判断以后直接对于空白字符进行了处理

  对于题目中的要求的以及限制的情况可以得出:能够出现加号以及减号的地方只有在于系数以及指数的部分。为了避免通过split进行了错误的分割的情况,提前对于指数的部分的数据进行了相关的处理,把^号连接着的符号换成了一些不会被split的符号,之后将整体的减号换成了加上一个负号后执行分割,将整体分割成为一个String类型的数组之后再进行相关的处理。

  处理的部分就是利用hashmap以及正则表达式来进行相关的数据的处理以及诸如同类项的合并等操作,最后再进行合并的以后的结果的输出。比较难受的就是当时设计最后的输出的时候没有考虑到正项前移这个神奇的操作导致最后被扣了分。

  第二次作业的时候因为开始的比较晚,可以说是有了相关的思路就开始了写程序的操作,毫无疑问,又是一次面向过程的编程,整体的时候在对于输入的处理的过程之中也是考虑到了相关的输入的模式的方面。对于输入的模式进行了相关的处理,根据数学软件求出的公式进行了相关的套用,最后是对于一个三元组的hashmap进行了一次化简,最后的效果当然是,很差,被刀了很多次。

  直到最后一次作业的时候才开始了面向对象的设计的过程,对于输入进行了相关的抽象以及属性的识别,再在之后的各个模式的内部进行了相关的方法的定义以及使用,实现的过程还是很不错的,但是还是因为各种类的之间关联不是很密切,所以就导致了后面bug满天飞。

2.关于自己的程序的结构的分析以及相关的度量

  因为第一次以及第二次作业就是完全的面向过程的程序的设计的结构,所以在此处就不再进行相关的分析,因为只有一个java的类的文件以及内部的一些方法,在此处对于java的第三次作业稍作分析

 

 

  可以看出,因为本身的设计就比较杂乱,当时的事情就是很多类之间的功能以及要实现的需求并不能较为独立地完成,很多的时候还是有一些面向过程的成分在里面,所以后期的debug阶段的工作就很复杂不好办。

  另外的一个缺点就是没有对于单一的一个模块进行独立的测试,没有在确认完成自己的一部分的设计以后再进行下一部分的设计,所以这也就间接地导致了后面的时候,想要找出一个表达式的bug很多的时候得做出相关的简化然后再进行错误的针对性的查找。 

3.关于自己的程序以及相关的bug

  自己发现的程序的bug主要是在于程序的初始的设计的过程里面没有考虑清楚,也是在于当时并没有对于一些指导书上面的细节进行相对应的处理,所以也就是没有在初始的设计的过程之中就减少bug的可能出现,所以在后来比如三次作业里面的格式判断的过程以及计算导数的过程里面,都是有着各种各样的神奇的bug出现。

4.自己发现别人的bug采取的策略

  第一次作业的时候主要是根据了自己在设计程序的时候找到的相关的设计的漏洞来对于其他的同学的程序来进行处理,主要是对于各种的输入的正确性质的格式的判断,当时因为是设计的结构较为简单所以很难找到相关的程序的导数的计算的

5.最后的总结

  对于自己在这个多项式求导的环节的学习,大概最大的收获就是学会了如何逐渐地跳脱出之前的一个面向过程的编程的思想来进行面向对象的设计,之前第一次作业的时候稍微有了一些关于面向对象的方法的架构的想法但是并没有进行相关的实施,之后的第二次作业也是,在不断的加强难度的过程之中逐渐的体会到了面向过程的思想的一些好处以及相对应的优点。最后第三次作业进行了基本的完全的代码的重新的构造,最后也算是逐渐跳脱出了面向过程的一个思想。

  课上的一些讲解也使自己收益良多,比如一些基本的java的语法以及相对应的面向对象的方法的设置的过程在第三次作业的构建的过程之中给了我一些很不错的指导,还有比如上课说的一些有关于类的设计的模式的想法也是初次的接触。相对之前的三次作业的基本上是瞎设计的类,这些关于类的一些设计值得自己继续进行相关的学习。

转载于:https://www.cnblogs.com/hsc503680421/p/10591171.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值