https://github.com/iwannastay/WcPro/tree/stage3html
PSP2.1 | PSP階段 | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 20 | 20 |
Estimate | 估計任務須要多少時間 | 120 | 100 |
Development | 開發 | 180 | 240 |
Analysis | 需求分析 | 20 | 30 |
Design Spec | 生成設計文檔 | 30 | 40 |
Design Review | 設計複審 | 10 | 10 |
Coding Standard | 代碼規範 | 10 | 10 |
Design | 具體設計 | 30 | 20 |
Coding | 具體編碼 | 60 | 60 |
Code Review | 代碼複審 | 20 | 20 |
Test | 測試 | 20 | 30 |
Reporting | 報告 | 60 | 100 |
Test Report | 測試報告 | 30 | 100 |
Size Measurement | 計算工做量 | 20 | 60 |
Postmortem | 總結 | 20 | 80 |
合計 | 340 | 540 |
我負責的是文件處理框架和main函數,即對全部其餘模塊進行整合,將接口結合到一塊兒。git
設計思路:其實這個模塊並不難。主要是要對整個軟件的架構瞭然於胸,對各部分的函數靈活運用。先調用InputAnalysis對文件名進行審查,而後運行mainProcess函數對文件進行處理。在mainProcess函數中調用文件行處理模塊的lineProcess函數,和排序模塊的rankProcess。最後調用輸出處理函數SaveResult對結果進行輸出保存。
實現過程:github
1:主函數的流程架構
int main(int argc, char *argv[]) { string str; InputAnalysis(argc, argv, str); WcFile m_File(str.c_str()); //初始化WcFile類 m_File.MainProcess(); //檢測,計數,排序 m_File.SaveResult(); //輸出結果 return 0; }
2:程序主要進程實行順序控制框架
void WcFile::MainProcess() { while (!File_Stream.eof()) { File_Stream.getline(File_Line, Line_Size); int num = File_Stream.gcount(); if (File_Stream.gcount() == Line_Size&&File_Line[Line_Size - 1] != '\n') { cout << "Line: " << Line_Num + 1 << " is too long" << endl; /*Line_Size *= 2; char *New_Space = (char*)malloc(Line_Size * sizeof(char)); memcpy_s(New_Space,)*/ } Line_Num++; LineProcess(); } RankProcess(); }
測試主要包括可否對文件名進行識別和對文件內容處理。其中分別是對主函數和mainprocess的測試。函數
我的得分0.2。工具
本次代碼規範參考了鄒欣老師在講義「現代軟件工程講義 3 代碼規範與代碼複審」中提到的規範,對於老師的講解表示十分受用,並不敢有絲毫觸犯雷霆之意。對於其所說的代碼規範十分贊同。單元測試
我分析了組員17024的代碼,該組員是代碼方面的高高手,一直是我崇拜的偶像,其本人浸淫C++多年,對於他的代碼,觀之者賞心悅目。其內容簡潔明瞭,進退有據,思路明晰,書寫規範,實在是挑不出毛病。我會努力向該同窗學習,更好的提升本身寫代碼的能力。學習
使用Visual Studio 2015 內置檢測工具,可在微軟官方網站https://www.visualstudio.com/zh-hans/downloads/下載測試
該次任務是由小組共同完成,自己任務對我而言是有些困難的,可是在隊友的幫助下,咱們仍然完成了絕大多數。從中我體會到了團隊的力量,在團隊的合做共進下才能更好的完成各項任務。