GIT地址 | git地址 |
---|---|
GIT用戶名 | Luo-Star |
學號後五位 | 62309 |
博客地址 | 我的博客首頁 |
做業連接 | 做業連接 |
關於環境配置,我以前是配置過vs2017,可是當時我裝的時候沒有裝c#的組件,因此須要從新進行安裝。可是在從新進行安裝的問題是,Visual Studio Installer下載安裝的速度確實太慢了,因此我換了一種方式,我是下載的離線版本的VS2015(帶有c++模塊的)
上圖是正在安裝的圖片,由於是離線版本,全部的組件已經下載完整了的,就只用執行安裝就行了,仍是很是快的
這個是一個基礎環境的配置,Development Settings 選擇General 就行不用選擇 C# ,咱們能夠進去以後創建C#的項目,主題的話,我我的比較喜歡深色,選擇了Dark。
到這裏的話,基本上就完成了軟件的安裝了,c++的環境軟件安裝包自動的配置好了。html
自動生成小學四則運算題目與解決題目
首先要解決的問題是隨機產生四則運算符號符號和隨機產生數的問題,符號有+,-,*,/ 四種,隨機數是在0-100中隨機產生,那麼就須要用到隨機函數了
上圖是我定義的Symbol類中的一個隨機產生符號的方法,定義一個字符數組,數組中存儲了四種運算符號,經過產生隨機數當作數組下標來隨機產生符號,並將產生的符號轉換成字符串返回,可是自己C#中的產生隨機數的函數就是產生的僞隨機數,若是調用過快,產生的就會是同樣的數,因此我加了Thread.Sleep(15); 這個休眠函數,防止產生的符號所有同樣
一樣的,得到隨機數的方法與得到符號的方法相似,如上圖
既然已經作好了隨機產生運算符號和數的狀況下,接下來天然是將隨機產生的這些數和符號組成表達式,TwoSymbolCal()這個方法是產生含有兩個運算符號的運算式子,在這個方法中,實例化一個Symbol a,經過調用 Symbol中的兩個隨機產生函數,得到隨機符號和數字,並拼接成一個字符串(爲啥是拼接成一個字符串呢?由於Compute方法的參數只接受字符串類型),利用DataTable的Compute方法進行計算最終的結果,再將最終結果拼接到以前計算表達式的字符串中,
這是產生含有三個運算符號的式子的方法,大致上和產生含有兩個運算符號的運算式子的方法同樣,這裏就很少說
最後是主函數,主函數先讓用戶輸入一個數,這個數表明題目數,而後進入while循環,由於是隨機產生2-3個運算符號的式子,利用一樣的方法,隨機產生一個數並對2取餘,若是餘數爲0,那麼產生含有兩個運算符號的運算式子,若是餘數爲1,那麼產生含有三個運算符號的運算式子。而後咱們判斷返回的結果中是否包含了負號和小數點,若是有則從新生成,若是沒有就寫入文本文件中。c++
這裏已經成功從阿超克隆到本身倉庫,可是在我安裝好git以後,運行git bash時,沒辦法用教程中的那個方法進行克隆,
隨後我進行了百度,當咱們須要進行克隆項目到本地的時候須要進行驗證,而git的驗證方式有兩個,一種是使用SSH進行驗證,另外一種是https進行驗證,我選擇了使用SSH來進行驗證。
首先在 git bash中設置git的user name和email,郵箱是本身註冊git的時候的郵箱,如上圖所示
而後進行密鑰的生成,最後在本地會獲得兩個文件,以下圖
建立好了以後,咱們還須要在git上面添加咱們剛剛生成的ssh密鑰,進入git的我的主頁中的 settings,以下圖
而後找到SSH and GPG keys進行添加SSH密鑰,注意由於生成兩個文件,咱們只要將後綴爲.pub中的內容複製到key中,Title本身能夠隨便取一個而後點擊 Add SSH key 就行了,而後咱們能夠進行測試一下
好了,到這裏,我就能夠成功的用SSH進行克隆了。
克隆的時候應該注意一下,應該克隆本身帳號下的某個倉庫,我以前就很盲目的照着教程一步步走,克隆命令也是,因此也致使了出錯,因此咱們在看教程的時候,也要動點腦子,不能一味的去照抄照搬。到這裏的話,個人克隆過程也基本完成了。git
代碼提交沒什麼大的問題,但仍是有一個小小的問題,在從遠程倉庫中克隆了到本地以後,在克隆的文件夾中創建了一個文件夾用於放置本身的代碼,可是沒法上傳到遠程倉庫
利用git push 上傳的時候提示我everything up-to-date,我覺得我上傳成功了,可是在遠程倉庫根本找不到,繼續百度了一下,緣由是沒有git commit -m "提交信息"
在我執行git commit -m "提交信息"了這條命令以後,在上傳到遠程倉庫,就完成了。github
進行單元測試這個確實花了我不少時間,由於個人方法返回的是隨機的符號和隨機生成的數字,而單元測試中,Assert斷言函數所提供的功能是實現指望值和實際值的對比,只能是兩個肯定的,也多是我比較菜,我就用了一個最笨的辦法。以下圖
上圖測試的一個隨機生成運算符號的方法,由於返回的是字符數組中的隨意的一個,我也不知道生成的是啥,我就用了一個if語句判斷,若是生成是四個中的任意一個那麼測試經過,不然不經過。由於個人方法,都是返回的這樣的隨機的,因此其餘的測試方法是同樣的。
最後這張圖是對隨機生成運算符的單元進行測試的結果。c#
在咱們對代碼修復、改進或重構以後,還要從新運行一遍單元測試,看看是否知足以前的樣例。對本身代碼進行迴歸測試, 沒有遇到特別大的問題,在此就不上傳截圖了。數組
上圖是即將對個人程序進行CPU使用率的效能查看。
上面兩個圖,第一個是正在測試運行程序時的CPU使用率,第二張圖是分析報告。bash
最開始作這一次做業的時候,由於在代碼段困了好久,我當時覺得寫代碼是最痛苦的,自己本身不是很熟悉C#,語法什麼的都忘得差很少了,可是當我艱難的寫完代碼段的時候,發現須要對本身寫的代碼進行測試,這就更讓我很懵了,由於本身寫的代碼不是很好測試,由於每一個單元都是生成的隨機的數或者隨機的符號,最後用了一個比較笨的辦法仍是實現了,對本身代碼的單元測試。此次做業,讓我對之前一些已經遺忘了的知識又從新拾撿起來,好比單元測試中的Assert斷言函數,C#中的數組定義,類中的方法的建立,類中方法的自身調用等等,還有怎麼去建立一個單元測試並對本身的代碼進行測試,在已修改代碼還要進行迴歸測試以及對代碼的運行效能進行分析查看,以便於本身對某一個模塊的代碼進行改進以提升效率。ssh