《物件導向程式設計》課程作業 (一)

2022-06-24 14:54:11 字數 1205 閱讀 9064

前言

緊趕慢趕終於也算是完成了吧……雖然還是有點倉促。

感想

選擇重構的同學,讓你面對自己的當初寫的**,你有什麼想說的?

看了下作業要求是修改作業三的**,當時那版寫得很亂,現在看來更是存在著不少的問題,一是變數名取得太沒有含義,諸如abc此類,導致在修改的時候還要想一會該變數的作用,十分令人頭疼。二是函式太多太亂,乙個函式巢狀在另乙個裡面,函式分離、模組化均不突出。

所以這次我主要針對這兩個問題進行了修改,雖然在匆忙之中並不能做多大的改動但至少函式減少了一半,main函式也簡潔多了。

之前的**雖然寫了好幾個函式,但是仔細看卻發現函式與函式之間的關聯性很強,基本上是失去了函式的意義,所以我把一些不必要的函式作了刪除與合併,讓各個函式的作用更加突出,**也更加一目了然。

除了在改動中鍛鍊自己的編碼能力,養成良好的編碼習慣,這次作業也讓我領悟到了函式分離的優勢,不僅便於分工,它還有助於程式的除錯,還能增加程式的可讀性和可移植性。

特別是在這次改動的過程中,發現改動乙個小細節就需要大改一發的「牽一髮而動全身」的感覺真是很令人崩潰。

綜上,養成良好**習慣是多麼重要的事啊!程式不是寫完了就丟的東西,還牽涉到後續的改動不斷優化等等問題,所以,寫好**,確實是有必要鍛鍊鍛鍊的,不能只滿足於ac。不僅要會程式設計,更應學會編出高質量的程式。

附github

(………提交作業二的時候不小心手抖把之前的倉庫刪掉了 於是索性建了個課程作業的倉庫把兩次作業都放進去了 好吧 這個插曲也額外給自己做了個教訓 刪除倉庫的時候 一定要 慎重!倉庫名也一定要 取好!)

主要函式

int scan();//使用者輸入

void randomnumber(); //隨機數字

void randomoperation(); //隨機符號

void generateexpression();//產生算式

void calculateresult (int t); //運算答案

void checkanswer(int result); //檢驗答案

void print(); //統計結果

《物件導向程式設計》課程作業一

在看完這次的作業要求後我整個人是混亂的,因為作業要求把不同的函式放在乙個main函式中 我們之前也是進行了函式分離,但是是放在了不同的檔案中。如果要改的話相當於重寫 而且這兩種形式其實也都是在呼叫函式 絕不是星期日乙個小時就能做完的,所以我和助教聊了一下 在得到助教的回答後我又重新看了一遍 發現我們...

2017《物件導向程式設計》課程作業一

github 我選擇了重構。雖然當初程式設計的時候有盡量模組化,但和題目要求相比還是太一體化,有一種牽一髮而動全身的感覺。當初用的方法比較初級,各種各樣的返回值錯綜複雜,思路千迴百轉。當初埋下諸多隱患,全域性變數與區域性變數重名 命名不清楚,改起來眼花繚亂相當累人。覺得分工合作還是挺難的。區域性資料...

2017《物件導向程式設計》課程作業一

林燊 031602325 類 generate int generate randomnumber int low,int high 生成 low,high 隨機數 string generate randomoperation int rand 生成四則運算符 return ope string ...