《面向对象程序设计》课程作业 (一)
前言
紧赶慢赶终于也算是完成了吧……虽然还是有点仓促。
感想
选择重构的同学,让你面对自己的当初写的代码,你有什么想说的?
看了下作业要求是修改作业三的代码,当时那版写得很乱,现在看来更是存在着不少的问题,一是变量名取得太没有含义,诸如abc此类,导致在修改的时候还要想一会该变量的作用,十分令人头疼。二是函数太多太乱,一个函数嵌套在另一个里面,函数分离、模块化均不突出。
所以这次我主要针对这两个问题进行了修改,虽然在匆忙之中并不能做多大的改动但至少函数减少了一半,main函数也简洁多了。
之前的代码虽然写了好几个函数,但是仔细看却发现函数与函数之间的关联性很强,基本上是失去了函数的意义,所以我把一些不必要的函数作了删除与合并,让各个函数的作用更加突出,代码也更加一目了然。
除了在改动中锻炼自己的编码能力,养成良好的编码习惯,这次作业也让我领悟到了函数分离的优势,不仅便于分工,它还有助于程序的调试,还能增加程序的可读性和可移植性。
特别是在这次改动的过程中,发现改动一个小细节就需要大改一发的“牵一发而动全身”的感觉真是很令人崩溃。
综上,养成良好代码习惯是多么重要的事啊!程序不是写完了就丢的东西,还牵涉到后续的改动不断优化等等问题,所以,写好代码,确实是有必要锻炼锻炼的,不能只满足于AC。不仅要会编程,更应学会编出高质量的程序。
附
(………提交作业二的时候不小心手抖把之前的仓库删掉了 于是索性建了个课程作业的仓库把两次作业都放进去了 好吧 这个插曲也额外给自己做了个教训 删除仓库的时候 一定要 慎重!仓库名也一定要 取好!)
主要函数
int scan();//用户输入
void randomNumber(); //随机数字
void randomOperation(); //随机符号
void generateExpression();//产生算式
void calculateResult (int t); //运算答案
void checkanswer(int result); //检验答案
void print(); //统计结果