一、位址
二、結對過程
室友組隊,程式設計過程中兩人一直在一起,共同思考,我主要檔案讀入和核心功能部分的編碼,他負責檔案寫入和測試。
三、psp**
psp2.1
personal software process stages
預估耗時
實際耗時
planning
計畫20min
15min
· estimate
· 估計這個任務需要多少時間
(從開始專案到結束,不是連續)
4day
3day
development
開發3day
2day
· analysis
· 需求分析 (包括學習新技術)
20min
15min
· design review
· 設計複審 (和同事審核設計文件)
5min
5min
· coding standard
· **規範 (為目前的開發制定合適的規範)
10min
10min
· design
· 具體設計
1h2h
· coding
· 具體編碼
3day
2day
· code review
· **複審
2h1h
· test
· 測試(自我測試,修改**,提交修改)
4h3h
· postmortem & process improvement plan
· 事後總結, 並提出過程改進計畫
1h1h
合計=estimate
4day
3day
四、解題思路
先將文字檔案傳入,在實現核心功能,在寫入檔案
五、 設計實現過程
在簡單的討論之後,我和蔣鑫設計了如下的流程圖
以下是實際的一些改動
檔案操作類包含了"檔案的寫入"和呼叫"核心功能類"
核心功能類包含了計算ascii字元總數、有效行數、片語和單詞頻率和檔案寫入函式
主函式類包含了增強功能的**
六.**規範
縮排:用乙個tap 鍵。
行寬:限定100個字元。
括號:對於複雜的表示式,要用括號清楚的表示邏輯優先順序。
括號:迴圈或選擇語句即使只有一句也要用 ,且 都要單獨佔一行。
分行:除了同型別的變數的定義在一行,其他不同的語句要分行寫。
命名:首字母要大寫,關鍵變數命名要能清楚的表達變數的含義;若名稱以多個單詞為名,單詞與單詞之間要用 "_" 連線。
注釋:在每個函式前注釋清楚函式的用途和意義較複雜的變數的文字解釋。
問題:在修改**後很多首行縮排都不符合要求,需要單個的修改。
七、效能分析
八、**分析
核心**如上圖
我們的**分兩大部分,一是檔案操作二是核心功能
我們把核心功能各類了出來放在了另乙個類中,再在另乙個類中呼叫,在主函式中還有一部分判斷是對cmd,對i o m n 命令語句做了判斷的功能
九、總結
本次結對程式設計我覺得是1+1>2的,我們完全是在一起編寫完成這個專案,乙個人的思考有限,在遇到問題時,兩個人有更多的方法解決,但是也需要兩個人相互配合。
結對程式設計的缺點:兩人一起程式設計久了,兩個人的思路有時不清晰,思路有時會混亂,特別是測試檢驗修改的時候。
遇到的問題:由於我們的輸出前n 個單詞和輸出m 個單詞組成的陣列為乙個函式,呼叫時發現兩個輸出的都是m個單詞組成的片語
解決:從新命令了乙個物件,做同樣的操作,得到兩種輸出。
我們一開始建立github庫的時候,沒有fork給出的連線,後來在3次上傳完成後意識到問題,詢問助教,把我們這個庫的內容又clone了過去但就只有一次commit
python實現WordCount 第三次作業
在完成本次作業的期間,同一位同學進行了合作,大概就是相互之間測試對方的程式,已達到軟體測試的目的。1.在進行檔案操作的時候報錯,經分析報錯後發現是在開啟某一檔案時未統一編碼規範。檔案是gbk編碼,在開啟檔案的時候要轉化為utf 8。2.對 的縮排,一些變數定義和空間進行了修改。pychecker是p...
python實現WordCount 第三次作業
在完成本次作業的期間,同一位同學進行了合作,大概就是相互之間測試對方的程式,已達到軟體測試的目的。1.在進行檔案操作的時候報錯,經分析報錯後發現是在開啟某一檔案時未統一編碼規範。檔案是gbk編碼,在開啟檔案的時候要轉化為utf 8。2.對 的縮排,一些變數定義和空間進行了修改。pychecker是p...
第三次作業
2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...