軟體工程 四則運算表示式 8

2021-10-02 06:36:50 字數 1028 閱讀 8332

本章主要進行**的效能測試和**審查,檢視**效能和格式是否符合專案要求

效能測試部分對每乙個函式的執行時間和呼叫過程進行了時間上的記錄,可以清楚的看到哪乙個部分的時間開銷大,進而推測是否符合效能需求的需要

效能測試使用pycharm自帶的效能分析器進行

對main函式進行測試,測試每乙個函式的詳細執行時間和函式的呼叫圖,測試的結果如下:

可以看到測試結果中testper函式最費時間,這是很容易理解的,因為testper是主函式,其次是generate模組,而在generate中最費時間的是deepcopy部分,因為deepcopy要深拷貝乙個完整的root序列下來,所以時間的開銷比較大,其次就是randinit函式比較耗時,randinti中呼叫了隨機數生成器,隨機數生成是需要時間的,所以導致函式的整體時間開銷偏高,下一步的改進可以用cython中的深拷貝模組替換掉使用的python deepcopy模組,可以進一步降低時間開銷

**審查是確保**質量的關鍵一環,這部分是由我的隊友完成的

**審查使用python的pylint進行,經過了與編碼過程同步進行的改進工作,**的質量與之前相比已經有了長足進步

以部分**舉例

originrequest部分

改進前的分數

改進後的分數

solve部分

改進前的分數

改進後的分數

四則運算表示式求值

03 四則運算表示式求值 輸入輸入為四則運算表示式,僅由陣列 四則運算符 左右括號組成,不含空格。假設運算子結果都是整數。輸出輸出這個表示式的值 分析首先我們要搞清楚表示式的定義是什麼 表示式 由乙個或者多個項組成,多個項的表示式由 連線 項 由乙個或者多個因子組成,多個因子由 連線 因子 由 表示...

四則運算表示式求值

表示式求值是關於棧的應用,涉及到中綴與字尾式的轉換,本文關於10以內不帶括號的四則運算。9 3 4 x 3 24 1 x 9 5 9 9 5 x 9 4 6 2 x 3 1 42 思路 遇到數字直接入數字棧。遇到運算子,第乙個運算子直接入符號棧,後面的需要與符號棧棧頂元素比較優先順序。若當前優先順序...

四則運算表示式總結

這兩周完成了第乙個個人專案 四則運算表示式。在整個開發的過程中我有一些收穫也發現了自身的一些問題。下面就分條簡述一下。1 實現隨機生成任意長度的四則表示式 括號 2 實現四則表示式的計算 包括分數 3 實現接收使用者對某四則運算表示式計算的結果並判斷正確性。4 實現結合1 2 3功能的mfc應用程式...