真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

詞頻統(tǒng)計(jì)——結(jié)對編程-創(chuàng)新互聯(lián)

[Welcome to My Blog] 第四次作業(yè)結(jié)對編程
Github項(xiàng)目地址Github地址
結(jié)對伙伴黃天兵201831061126的博客
一.PSP表格
==
二. 計(jì)算模塊接口的設(shè)計(jì)與實(shí)現(xiàn)過程

①代碼結(jié)構(gòu):
程序由一個(gè) wordsCount 類, main() 主函數(shù)和 Getop(string cmd) 獲取命令參數(shù)函數(shù)構(gòu)成。其中 wordCount 類成員中含 Char_num() 、 Lines_num() 等函數(shù)。思維導(dǎo)圖如下:

②.關(guān)鍵函數(shù)實(shí)現(xiàn):
int wordsCount::Char_num() :獲取ascii數(shù)

創(chuàng)新互聯(lián)云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、四川樂山服務(wù)器托管、云服務(wù)器、網(wǎng)站空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、網(wǎng)站空間、域名申請、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

獲取輸入文件路徑后,通過對文件內(nèi)容逐個(gè)讀取,并只對ASCII碼進(jìn)行計(jì)數(shù)。

int wordsCount::Lines_num():獲取文件行數(shù)

使用 getline() 函數(shù)獲取文件的每一行對行數(shù)進(jìn)行計(jì)數(shù)。

void wordsCount::GetWords()、int wordsCount::Words_num() 、void wordsCount::Sort_words_rate()

由于對單詞時(shí)有額外的要求:單詞計(jì)數(shù),按照出現(xiàn)頻率和字典排序,以小寫輸出。所以使用多個(gè)函數(shù)實(shí)現(xiàn):
(1) void wordsCount::GetWords() :
逐個(gè)讀取文件字符,將所有符合要求的“單詞”提取出來,轉(zhuǎn)為小寫形式后(使用 algorithm 頭文件中的 transform() 函數(shù) ),存放在一個(gè) vector< string >容器中。
(2) void wordsCount::Sort_words_rate():
對于統(tǒng)計(jì)詞頻首先想到的是用 pair記錄詞頻,排序則使用algorithm頭文件下的 sort() 函數(shù)。于是乎為了方便統(tǒng)計(jì)詞頻,先排序,使相同的單詞在一塊兒,再統(tǒng)計(jì)詞頻,統(tǒng)計(jì)好的詞頻存放在 vector>中,再對其詞頻進(jìn)行排序。(sort()函數(shù)中第三個(gè)參數(shù)提供了自定義排序標(biāo)準(zhǔn))
main(int argc, char *argv[]) :主函數(shù)

main()函數(shù)主要接受用戶從操作系統(tǒng)傳入的參數(shù),參數(shù)通過Getop()函數(shù)解析后執(zhí)行不同的輸出。

③.編程思想體現(xiàn)
Interface Design:

對于接口的設(shè)計(jì),我們將wordCount這個(gè)類中所有屬性和成員函數(shù)的定義與實(shí)現(xiàn)分開

Information Hiding:

信息隱藏,簡單地說就是是否可見是否與可用。
不可見不可用:
我們將類的屬性和成員定義放在wordCount.h的頭文件中,實(shí)現(xiàn)部分放在wordCount.cpp中,使類中內(nèi)容對外部而全然隱藏。
可見不可用:
通過使用private、protect對類中成員和屬性進(jìn)行修飾。包含頭文件后,即使能看到這些屬性,卻無法使用它們
④效果展示



三.代碼復(fù)審

①編碼規(guī)范:
我們采用的是Google的C++編碼規(guī)范
中文版
Google C++編碼規(guī)范
②復(fù)審過程:
Vs2017具備強(qiáng)大的努力的復(fù)審功能,可以進(jìn)行智能縮進(jìn),大大提高了規(guī)范性。vs2017是真的功能強(qiáng)大。

四. 性能分析

性能分析參考文獻(xiàn)Part6

根據(jù)參考文獻(xiàn)我們對代碼稍微做改動,使它陷入循環(huán),VS2017自帶的“性能探查器"真的好用


性能分析報(bào)告:

五. 單元測試

單元測試參考文獻(xiàn)Part3
①出現(xiàn)問題:在按照上面文獻(xiàn)的步驟流程做完以后,發(fā)現(xiàn)測試還是沒有通過

②解決問題:測試代碼也肯定沒有問題。經(jīng)過不斷的摸索,發(fā)現(xiàn)原來是測試用的文件應(yīng)該放在這里頭


③總結(jié):測試中的待打開的文件不能與代碼放在一起,需要放在與后綴為“.exe”相同的路徑下。
④測試結(jié)果:由于水平有限,只測試了幾個(gè)函數(shù),并且經(jīng)過長時(shí)間摸索還是解決了問題。通過了測試。
測試的幾個(gè)函數(shù):Char_num(),int Lines_num(),int Words_num();終于還是通過了測試

六.異常處理(參考隊(duì)友)

1.拋出異常:
·文件打開失?。?br />
·用戶未輸入?yún)?shù)、參數(shù)個(gè)數(shù)錯(cuò)誤、參數(shù)不包含“-i”和“-o”:


·檢查“-n”和“-m”后面的參數(shù)是否為數(shù)字:
在程序中使用了stoi()函數(shù)實(shí)現(xiàn)字符串轉(zhuǎn)整型,若轉(zhuǎn)換失敗則會自動拋出異常。
2.捕獲異常:
使用try-catch對異常進(jìn)行捕獲

3.測試結(jié)果:
①錯(cuò)誤輸入

②正確輸入

七.結(jié)對的過程

①感受:
我和我室友黃天兵同學(xué)進(jìn)行結(jié)對編程,兩個(gè)人相互討論的模式其實(shí)以前也有用到,不過這次的更加全面完善,我們確實(shí)感覺到了1+1>2的效果。隊(duì)友的代碼量大大高于我,能力也強(qiáng)。我更多的時(shí)間花在了代碼的單元測試上。但是通過這次結(jié)對編程確實(shí)也感覺到了自己和大佬的差距,也復(fù)習(xí)了以前沒搞清楚的有關(guān)字符的知識點(diǎn)?;锇榈膱?jiān)持精神也深深感染了我。還是那句老話“革命還未成功,同志還需努力。最后感謝”
②照片:

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前標(biāo)題:詞頻統(tǒng)計(jì)——結(jié)對編程-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/dpigis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部