zoukankan      html  css  js  c++  java
  • 《面向对象程序设计》课程作业 (一)

    前言

    紧赶慢赶终于也算是完成了吧……虽然还是有点仓促。

    感想

    选择重构的同学,让你面对自己的当初写的代码,你有什么想说的?

    看了下作业要求是修改作业三的代码,当时那版写得很乱,现在看来更是存在着不少的问题,一是变量名取得太没有含义,诸如abc此类,导致在修改的时候还要想一会该变量的作用,十分令人头疼。二是函数太多太乱,一个函数嵌套在另一个里面,函数分离、模块化均不突出。

    所以这次我主要针对这两个问题进行了修改,虽然在匆忙之中并不能做多大的改动但至少函数减少了一半,main函数也简洁多了。

    之前的代码虽然写了好几个函数,但是仔细看却发现函数与函数之间的关联性很强,基本上是失去了函数的意义,所以我把一些不必要的函数作了删除与合并,让各个函数的作用更加突出,代码也更加一目了然。

    除了在改动中锻炼自己的编码能力,养成良好的编码习惯,这次作业也让我领悟到了函数分离的优势,不仅便于分工,它还有助于程序的调试,还能增加程序的可读性和可移植性。

    特别是在这次改动的过程中,发现改动一个小细节就需要大改一发的“牵一发而动全身”的感觉真是很令人崩溃。

    综上,养成良好代码习惯是多么重要的事啊!程序不是写完了就丢的东西,还牵涉到后续的改动不断优化等等问题,所以,写好代码,确实是有必要锻炼锻炼的,不能只满足于AC。不仅要会编程,更应学会编出高质量的程序。

    Github

    (………提交作业二的时候不小心手抖把之前的仓库删掉了 于是索性建了个课程作业的仓库把两次作业都放进去了 好吧 这个插曲也额外给自己做了个教训 删除仓库的时候 一定要 慎重!仓库名也一定要 取好!)

    主要函数

    int scan();//用户输入

    void randomNumber(); //随机数字

    void randomOperation(); //随机符号

    void generateExpression();//产生算式

    void calculateResult (int t); //运算答案

    void checkanswer(int result); //检验答案

    void print(); //统计结果

  • 相关阅读:
    Standford机器学习 聚类算法(clustering)和非监督学习(unsupervised Learning)
    cocos2d-x 消类游戏,类似Diamond dash 设计
    cocos2d-x精灵的添加和移动
    小学生四则运算测试网站文档更新
    第四次作业
    第三次作业
    第二周作业第三题_张东明
    第二章
    第二周的作业第二题_张东明
    第二次作业第3题_JH
  • 原文地址:https://www.cnblogs.com/ctsyx/p/6754302.html
Copyright © 2011-2022 走看看