結對編程 - 詞頻統計
阿新 • • 發佈:2018-07-09
題目 換行 字符函數 war code nal arc 基本功 小時
- github鏈接請戳這裏_(:з」∠)_
【PSP】
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 10 | 8 |
· Estimate | · 估計這個任務需要多少時間 | 240 | 258 |
Development | 開發 | 200 | 215 |
· Analysis | · 需求分析 (包括學習新技術) | 15 | 10 |
· Design Spec | · 生成設計文檔 | 10 | 15 |
· Design Review | · 設計復審 (和同事審核設計文檔) | 10 | 12 |
· Coding Standard | · 代碼規範 (為目前的開發制定合適的規範) | 10 | 8 |
· Design | · 具體設計 | 20 | 22 |
· Coding | · 具體編碼 | 100 | 108 |
· Code Review | · 代碼復審 | 15 | 20 |
· Test | · 測試(自我測試,修改代碼,提交修改) | 20 | 10 |
Reporting | 報告 | 30 | 35 |
· Test Report | · 測試報告 | 20 | 22 |
· Size Measurement | · 計算工作量 | 5 | 7 |
· Postmortem & Process Improvement Plan | · 事後總結, 並提出過程改進計劃 | 5 | 6 |
合計 | 240 | 258 |
【解題與程序叠代】
- 看到題目時,其實覺得並不麻煩,算是一個不難的題目,但是因為要求的點還挺多的,覺得要全部完成並且無bug有點困難(畢竟是曾經改bug改了4小時的人_(:з」∠)_),和隊友商量後得出的結論就是:以完成基本功能為主要目標。所以我們就從統計字符數函數開始,慢慢叠代功能上去。參考資料主要來源於百度以及github上大佬的開源項目。
【設計實現過程】
- 程序設計(思想/流程圖)
- 思想
- 首先根據用戶的輸入讀取整個文件,再分別調用統計字符數函數、統計有效行數函數、統計單詞數函數、統計單詞頻率函數,分別輸出統計的結果。
- 流程圖
- 思想
- 類圖
【關鍵代碼】
主函數 main():用於讀取文本與調用統計函數。
統計字符函數CharCount():運用指針移動判斷讀入的字符是否為Ascii碼,若是,則將計數變量++。
統計單詞函數WordCount():當出現連續4個字母,且後續為字母或者數字,則認定為單詞,計數變量++。
統計行數函數LineCount():當出現單一個換行符時,計數變量++。
【性能展示】
- 性能分析圖
- 由圖可看出,用時最多的函數是統計字符函數WordCount(),主要耗時原因是用了雙重循環。
- 運行結果圖
【體會與收獲】
對結對編程的看法
- 優點:結對編程的優點莫過於多一個人多一份力量。當你陷入思想僵局時,會有人提醒你,並且從相關利益者的角度出發,給予你合適的指導與幫助,這將有效的提高編程效率與準確度。
- 缺點:如果是兩個話癆,就容易聊起來,然後就起到了反效果?(^?^*)
對隊友的評價
- 優點1:認真負責,面對這電腦的多次崩潰還能堅持_(:з」∠)_
- 優點2:友好易溝通,初次見面的合作交流還是蠻愉快的。
- 缺點1:沒有喝水的好習慣,一個下午居然都沒喝水_(:з」∠)_(強行湊數
結對編程 - 詞頻統計