word count(小組)
阿新 • • 發佈:2018-10-22
txt 行數 數字 strong 更多 分代 體會 sys 通過
合作者:201631062314,201631062214
碼雲地址:https://gitee.com/dsjyun/Word-Count-three
一、代碼互審:
第一次都是實現了基本功能,沒有完成擴展功能,這次還有個高級功能,於是討論了後續功能如何實現。
我們的意見基本一致,認為高級功能需要窗體來實現比較簡單,於是決定用C#語言來實現。
二、部分代碼
using System; using System.Diagnostics; namespace WordCount { class program { static void Main(string[] args) { Console.Write(主函數+性能測試"wc.exe -c file.c\t返回文件 file.c 的字符數\n" + "wc.exe -w file.c\t返回文件 file.c 的單詞總數\n" + "wc.exe -l file.c\t返回文件 file.c 的總行數\n" + "wc.exe -a file.c\t返回更復雜的數據(代碼行/空行/註釋行)\n" + "wc.exe -o output.txt\t將結果輸出到指定文件output.txt\n" + "wc.exe -e stopList.txt\t停用詞表,統計文件單詞總數時,不統計該表中的單詞\n" + "wc.exe -s\t循環執行所有.c文件\n"); Wordcount wc = new Wordcount(); while (true) { Console.WriteLine("--------------------------"); Console.WriteLine("輸入命令:"); string str = Console.ReadLine(); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 開始監視代碼運行時間 wc.ExecutiveCommand(str); stopwatch.Stop(); // 停止監視 TimeSpan timespan = stopwatch.Elapsed; // 獲取當前實例測量得出的總時間 string hours = timespan.TotalHours.ToString("#0.00000000 "); // 總小時 string minutes = timespan.TotalMinutes.ToString("#0.00000000 "); // 總分鐘 string seconds = timespan.TotalSeconds.ToString("#0.00000000 "); // 總秒數 string milliseconds = timespan.TotalMilliseconds.ToString("#0.00000000 "); // 總毫秒數 Console.Write("運行時間 "+timespan); } } } } 主函數,性能測試
using System; using System.Diagnostics; namespace WordCount { class program { static void Main(string[] args) { Console.Write("wc.exe -c file.c\t返回文件 file.c 的字符數\n" + "wc.exe -w file.c\t返回文件 file.c 的單詞總數\n" + "wc.exe -l file.c\t返回文件 file.c 的總行數\n" + "wc.exe -a file.c\t返回更復雜的數據(代碼行/空行/註釋行)\n" + "wc.exe -o output.txt\t將結果輸出到指定文件output.txt\n" + "wc.exe -e stopList.txt\t停用詞表,統計文件單詞總數時,不統計該表中的單詞\n" + "wc.exe -s\t循環執行所有.c文件\n"); Wordcount wc = new Wordcount(); while (true) { Console.WriteLine("--------------------------"); Console.WriteLine("輸入命令:"); string str = Console.ReadLine(); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 開始監視代碼運行時間 wc.ExecutiveCommand(str); stopwatch.Stop(); // 停止監視 TimeSpan timespan = stopwatch.Elapsed; // 獲取當前實例測量得出的總時間 string hours = timespan.TotalHours.ToString("#0.00000000 "); // 總小時 string minutes = timespan.TotalMinutes.ToString("#0.00000000 "); // 總分鐘 string seconds = timespan.TotalSeconds.ToString("#0.00000000 "); // 總秒數 string milliseconds = timespan.TotalMilliseconds.ToString("#0.00000000 "); // 總毫秒數 Console.Write("運行時間 "+timespan); } } } } 主函數,性能測試功能代碼
三、基本功能與擴展功能的測試:
1.數字、單詞、標點符號測試正常
2.運算符、空行測試,發現空行算作了一個單詞
擴展功能,測試正常
四、性能測試
通過顯示後臺運行時間發現單一命令的執行逐漸加快 ,三條命令同時執行的時間也遠小於分別執行的時間相加。於是在命令執行的基礎上加上文本的輸出,發現文本寫入用時最多。
再經過兩次測試發現程序有後臺存儲功能,記錄了運行的信息,第二次運行時讀取了運行過的結果,所以時間加快了很多。
4.總結
(1)代碼合並階段:以前並沒有將兩個人的代碼和在一起,這次發現函數命名沒有一致,需要修改,其實應該先確定函數命名再開始編碼。
(2)體會和感想:高級功能沒有實現,在時間上還是倉促了。這次合作沒有很好的計劃,浪費了很多時間,這次的經驗使得下次有了更多的準備。
word count(小組)